Table of Contents

DMKFMT History

References

Update History

CMS File Input : DMKFMT ASSEMBLE
Date : 12/13/1978 4:57:00 PM
VM Context : MAINT(394)
File Name : DMKFMT.ASSEMBLE.Z1.txt
Modified : 1/16/2021 7:31:46 AM
Created : 1/16/2021 7:31:46 AM

Update Order

  1. R09594DK 608 DMKFMT ALLOCATE REWRITES ALLOCATION MAP EVEN IF ONLY END ENTER
  2. R10365DK 611 DMKFMT ALLOCATION RESULTS BAD FOR '0C' AFTER V09232
  3. R10831DK 616 DMKFMT STAND ALONE WILL LOOP IF INTERRUPT FROM UNEXPECTED DEVICE
  4. R13248DK 627 UV05087 SAVE FORMAT FOUR LABEL INFO FOR 3330-3340-3350
  5. HRC011DK V01 ADD 3380 MDISK/DEDICATED DEVICE SUPPORT

R09594DK

Date Tuesday Jan 08, 1980 09:20:00 AM
Loaded from MAINT(294)
       R09594DK: ./ I 2027000 $ 2027500                                                  00001000
       R09594DK:          MVI   CHECKEND,X'FF' INITIALIZE END ONLY FLAG         @VA09594 00002000
       R09594DK: ./ I 2075000 $ 2075500                                                  00003000
       R09594DK:          MVI   CHECKEND,X'00' CLEAR END ONLY FLAG              @VA09594 00004000
       R09594DK: ./ I 2128000 $ 2128100 100                                              00005000
       R09594DK:          CLI   CHECKEND,X'FF' IS END THE ONLY COMMAND?         @VA09594 00006000
       R09594DK:          BE    PRINTALL       YES, NO CHANGE SO JUST DISPLAY   @VA09594 00007000
       R09594DK: ./ I 2296000 $ 2296500                                                  00008000
       R09594DK: CHECKEND DC    X'FF'          USED TO INDICATE END AS ONLY     @VA09594 00009000
       R09594DK: *                             COMMAND                                   00010000
 BEGIN APPLY >>> ./ I 2027000 $ 2027500                                                  00001000
   END APPLY >>> ./ I 2027000 $ 2027500                                                  00001000
 BEGIN APPLY >>> ./ I 2075000 $ 2075500                                                  00003000
   END APPLY >>> ./ I 2075000 $ 2075500                                                  00003000
 BEGIN APPLY >>> ./ I 2128000 $ 2128100 100                                              00005000
   END APPLY >>> ./ I 2128000 $ 2128100 100                                              00005000
 BEGIN APPLY >>> ./ I 2296000 $ 2296500                                                  00008000
   END APPLY >>> ./ I 2296000 $ 2296500                                                  00008000
Update Succeeded
Update Execution Time 31 milliseconds.

R10365DK

Date Thursday Apr 03, 1980 11:21:00 AM
Loaded from MAINT(294)
       R10365DK: ./ R 2174000 2175000 $ 2174100 500                                      00003000
       R10365DK:          CLI   0(R6),X'0C'    IS THIS AN IN USE DRCT CYL       @VA10365 00004000
       R10365DK:          BH    CONT           NO - THATS ALL FOR THIS DRCT     @VA10365 00005000
       R10365DK:          CLI   0(R6),X'04'    IS IT A DRCT CYL                 @VA10365 00006000
       R10365DK:          BNL   DIRECT         YES - COUNT IT                   @VA10365 00007000
 BEGIN APPLY >>> ./ R 2174000 2175000 $ 2174100 500                                      00003000
   END APPLY >>> ./ R 2174000 2175000 $ 2174100 500                                      00003000
Update Succeeded
Update Execution Time 23 milliseconds.

R10831DK

Date Monday Sep 08, 1980 06:17:00 AM
Loaded from MAINT(294)
       R10831DK: ./ I 1282000 $ 1282500                                                  00001000
       R10831DK:          SSM   =4X'00'        DISABLE I/O INTERRUPTS           @VA10831 00002000
       R10831DK: ./ I 1287000 $ 1287500                                                  00003000
       R10831DK:          BC    8,*-8          LOOP FOR CSW                     @VA10831 00004000
       R10831DK: ./ R 1295000 $ 1295100                                                  00005000
       R10831DK:          SSM   =4X'FF'        ALLOW I/O INTERRUPTS             @VA10831 00006000
 BEGIN APPLY >>> ./ I 1282000 $ 1282500                                                  00001000
   END APPLY >>> ./ I 1282000 $ 1282500                                                  00001000
 BEGIN APPLY >>> ./ I 1287000 $ 1287500                                                  00003000
   END APPLY >>> ./ I 1287000 $ 1287500                                                  00003000
 BEGIN APPLY >>> ./ R 1295000 $ 1295100                                                  00005000
   END APPLY >>> ./ R 1295000 $ 1295100                                                  00005000
Update Succeeded
Update Execution Time 31 milliseconds.

R13248DK

Date Friday Jan 15, 1982 04:25:00 PM
Loaded from MAINT(294)
       R13248DK: ./ R 1341000  1342000  $  1341500  1000                                 00001000
       R13248DK:          TM    TYPE,TYP3330+TYP334X+TYP3350  3330,334X,3350 ?  @VA13248 00002000
       R13248DK:          BZ    REGFORM              NO, THEN REG FORMAT        @VA13248 00003000
       R13248DK: ./ R 1358000  1364000  $  1358500  1000                                 00004000
       R13248DK:          CLC   NEXTCCHH(20),HIVALUE NEXT AVAILABLE ALT TRK     @VA13248 00005000
       R13248DK: *                                   BETTER BE IN ALT CYL                00006000
 BEGIN APPLY >>> ./ R 1341000  1342000  $  1341500  1000                                 00001000
   END APPLY >>> ./ R 1341000  1342000  $  1341500  1000                                 00001000
 BEGIN APPLY >>> ./ R 1358000  1364000  $  1358500  1000                                 00004000
   END APPLY >>> ./ R 1358000  1364000  $  1358500  1000                                 00004000
Update Succeeded
Update Execution Time 31 milliseconds.

HRC011DK

Date Tuesday Jan 01, 2013 05:53:00 PM
Loaded from MAINT(094)
       HRC011DK: ./ R 00001000 03294000 $ 1990 990                     03/02/06 19:30:26
       HRC011DK: FMT      TITLE 'DMKFMT     (CP)     VM/370 - RELEASE 6'                 00001000
       HRC011DK:          ISEQ  73,80          VALIDATE SEQUENCING OF SOURCE             00002000
       HRC011DK: *.1******************************************************************** 00003000
       HRC011DK: *                                                                       00004000
       HRC011DK: * MODULE NAME -           *----------------*                            00005000
       HRC011DK: *                         *     DMKFMT     *                            00006000
       HRC011DK: *                         *----------------*                            00007000
       HRC011DK: *                                                                       00008000
       HRC011DK: *        EXECUTABLE ENTRY POINTS -                                      00009000
       HRC011DK: *                                                                       00010000
       HRC011DK: *              DMKFMT - FORMAT/ALLOCATE PROGRAM ENTRY POINT             00011000
       HRC011DK: *                                                                       00012000
       HRC011DK: *                                                                       00013000
       HRC011DK: * DESCRIPTIVE NAME -                                                    00014000
       HRC011DK: *                                                                       00015000
       HRC011DK: *        FORMAT/ALLOCATE STAND-ALONE UTILITY PROGRAM                    00016000
       HRC011DK: *                                                                       00017000
       HRC011DK: * FUNCTION -                                                            00018000
       HRC011DK: *                                                                       00019000
       HRC011DK: *        USE THE FORMAT/ALLOCATE PROGRAM TO PERFORM PARTIAL OR COMPLETE 00020000
       HRC011DK: *        CP FORMATTING, ALLOCATION, AND LABELLING OF CP-OWNED DASD      00021000
       HRC011DK: *        PACKS.  PARAMETERS ARE ACCEPTED FROM A CONSOLE OR THE IPL      00022000
       HRC011DK: *        DEVICE (CARD READER).                                          00023000
       HRC011DK: *                                                                       00024000
       HRC011DK: * NOTES -                                                               00025000
       HRC011DK: *                                                                       00026000
       HRC011DK: *        DEPENDENCIES -                                                 00027000
       HRC011DK: *                                                                       00028000
       HRC011DK: *              MUST BE RUN IN A STAND-ALONE ENVIRONMENT, EITHER IN      00029000
       HRC011DK: *              A VIRTUAL MACHINE OR A BARE MACHINE.                     00030000
       HRC011DK: *                                                                       00031000
       HRC011DK: *        SYSTEM GLOBAL REGISTER USAGE -                                 00032000
       HRC011DK: *                                                                       00033000
       HRC011DK: *              NON-GLOBAL USAGE IS DEFINED IN ENTRY POINT PROLOG        00034000
       HRC011DK: *                                                                       00035000
       HRC011DK: *              R0  - PSA ADDRESSABILITY                                 00036000
       HRC011DK: *              R12 - DMKFMT BASE REGISTER                               00037000
       HRC011DK: *                                                                       00038000
       HRC011DK: *        TERMINOLOGY -                                                  00039000
       HRC011DK: *                                                                       00040000
       HRC011DK: *              FORMAT   - FILL THE PACK WITH ZERO DATA EXCEPT FOR       00041000
       HRC011DK: *                         CYLINDER 0, TRACK 0, WHICH IS FILLED WITH     00042000
       HRC011DK: *                         CP SPECIFIC DATA.                             00043000
       HRC011DK: *              ALLOCATE - DEFINE CERTAIN SECTIONS OF THE PACK AS        00044000
       HRC011DK: *                         SPACE TO BE USED BY CP FOR SPOOLING, PAGING,  00045000
       HRC011DK: *                         USER MINIDISKS, ETC.                          00046000
       HRC011DK: *                                                                       00047000
       HRC011DK: * MODULE TYPE - CSECT                                                   00048000
       HRC011DK: *                                                                       00049000
       HRC011DK: *        PROCESSOR - ASSEMBLER XF                                       00050000
       HRC011DK: *                                                                       00051000
       HRC011DK: *        MODULE DESIGN POINT - 24K                                      00052000
       HRC011DK: *                                                                       00053000
       HRC011DK: *        ATTRIBUTES - STAND-ALONE UTILITY PROGRAM                       00054000
       HRC011DK: *                                                                       00055000
       HRC011DK: * ENTRY POINT - SEE THE ENTRY POINT PROLOG                              00056000
       HRC011DK: *                                                                       00057000
       HRC011DK: * INPUT - SEE THE ENTRY POINT PROLOG                                    00058000
       HRC011DK: *                                                                       00059000
       HRC011DK: * OUTPUT - SEE THE ENTRY POINT PROLOG                                   00060000
       HRC011DK: *                                                                       00061000
       HRC011DK: * EXIT, NORMAL - SEE THE ENTRY POINT PROLOG                             00062000
       HRC011DK: *                                                                       00063000
       HRC011DK: * EXIT, ERROR - SEE THE ENTRY POINT PROLOG                              00064000
       HRC011DK: *                                                                       00065000
       HRC011DK: * EXTERNAL REFERENCES - SEE THE ENTRY POINT PROLOG                      00066000
       HRC011DK: *                                                                       00067000
       HRC011DK: * TABLES - SEE THE ENTRY POINT PROLOG                                   00068000
       HRC011DK: *                                                                       00069000
       HRC011DK: * MACROS - NONE                                                         00070000
       HRC011DK: *                                                                       00071000
       HRC011DK: * CHANGE ACTIVITY -                                                     00072000
       HRC011DK: *                                                                       00073000
       HRC011DK: *        THE S&D CODE OF EACH ADDED/CHANGED LINE WILL BE UPDATED TO     00074000
       HRC011DK: *        REFLECT SERVICE AND NEW DEVELOPMENT IN THIS MODULE.            00075000
       HRC011DK: *                                                                       00076000
       HRC011DK: *.$******************************************************************** 00077000
       HRC011DK:          EJECT ,                                                        00078000
       HRC011DK: *.2******************************************************************** 00079000
       HRC011DK: *                                                                       00080000
       HRC011DK: * ENTRY POINT NAME        *---------------*                             00081000
       HRC011DK: *                         *    DMKFMT     *                             00082000
       HRC011DK: *                         *---------------*                             00083000
       HRC011DK: *                                                                       00084000
       HRC011DK: * DESCRIPTIVE NAME -                                                    00085000
       HRC011DK: *                                                                       00086000
       HRC011DK: *        FORMAT/ALLOCATE PROGRAM ENTRY POINT                            00087000
       HRC011DK: *                                                                       00088000
       HRC011DK: * FUNCTION -                                                            00089000
       HRC011DK: *                                                                       00090000
       HRC011DK: * TO ACCEPT PARAMETERS FROM THE CONSOLE OR IPL DEVICE (CARD READER)     00091000
       HRC011DK: * AND PERFORM PARTIAL OR COMPLETE FORMATTING, ALLOCATION, AND LABELLING 00092000
       HRC011DK: * OF CKD TYPE DASD DEVICES.  THE FORMAT PROGRAM WILL ALSO DO            00093000
       HRC011DK: * WRITE CHECKING TO VERIFY THAT PAGES ARE FORMATTED CORRECTLY.  A COUNT 00094000
       HRC011DK: * OF "ERROR" PAGES WILL BE MAINTAINED.  NO ALTERNATES WILL BE ASSIGNED. 00095000
       HRC011DK: * ALL PARAMETER INPUT WILL BE VERIFIED FOR CORRECTNESS.  FOR COMMAND    00096000
       HRC011DK: * SYNTAX, REFER TO THE BLOCK COMMENTS.                                  00097000
       HRC011DK: *                                                                       00098000
       HRC011DK: * ENTRY CONDITIONS -                                                    00099000
       HRC011DK: *                                                                       00100000
       HRC011DK: *        NONE WHEN IN A STAND-ALONE ENVIRONMENT                         00101000
       HRC011DK: *                                                                       00102000
       HRC011DK: * NORMAL EXIT CONDITIONS -                                              00103000
       HRC011DK: *                                                                       00104000
       HRC011DK: *        IN A STAND-ALONE ENVIRONMENT, A WAIT STATE IS ENTERED AND      00105000
       HRC011DK: *        THE USER WILL HAVE TO RE-IPL.                                  00106000
       HRC011DK: *                                                                       00107000
       HRC011DK: * ERROR EXIT CONDITIONS -                                               00108000
       HRC011DK: *                                                                       00109000
       HRC011DK: *        RETURN CONTROL TO START OF PROGRAM                             00110000
       HRC011DK: *                                                                       00111000
       HRC011DK: * NOTES -                                                               00112000
       HRC011DK: *                                                                       00113000
       HRC011DK: *        NON-GLOBAL REGISTER USAGE -                                    00114000
       HRC011DK: *                                                                       00115000
       HRC011DK: *              R15 - 1ST BASE REGISTER                                  00116000
       HRC011DK: *              R12 - 2ND BASE REGISTER                                  00117000
       HRC011DK: *              R11 - 3RD BASE REGISTER                                  00118000
       HRC011DK: *              R13 - 4TH BASE REGISTER                                  00119000
       HRC011DK: *              R8  - 5TH BASE REGISTER                                  00120000
       HRC011DK: *              R14 - LINKAGE REGISTER                                   00121000
       HRC011DK: *                                                                       00122000
       HRC011DK: *              REGISTERS 0-7 AND 9-10 ARE USED AS WORK REGISTERS.       00123000
       HRC011DK: *                                                                       00124000
       HRC011DK: *        TABLE USAGE -                                                  00125000
       HRC011DK: *                                                                       00126000
       HRC011DK: *              DFODATA   - DEVICE DATA AND FORMATTING PROCEDURE TABLE   00127000
       HRC011DK: *              LOCDATA   - LOCATE RECORD DATA TABLE                     00128000
       HRC011DK: *              EXTMAP    - ALLOCATION EXTENT MAP                        00129000
       HRC011DK: *                                                                       00130000
       HRC011DK: *        NUMBERED MESSAGES                                              00131000
       HRC011DK: *                                                                       00132000
       HRC011DK: * DMKFMT536I XXX REPORTS DISABLED INTERFACE; FLT CODE = XXXX; NOTIFY CE 00133000
       HRC011DK: * DMKFMT730E DEV XXX NOT OPERATIONAL OR NOT READY                       00134000
       HRC011DK: * DMKFMT732E MACHINE CHECK                                              00135000
       HRC011DK: * DMKFMT733E VOLID READ IS VOLID1 NOT VOLID2                            00136000
       HRC011DK: *            (VOLID1 = VOLUME SERIAL NUMBER FROM THE DASD DEVICE.       00137000
       HRC011DK: *            VOLID2 = VOLUME SERIAL NUMBER FROM THE CONTROL STATEMENT.) 00138000
       HRC011DK: * DMKFMT734E TYPE OR CYL INVALID                                        00139000
       HRC011DK: * DMKFMT735E FATAL DASD I/O ERROR. CSW=XXXXXXXXXXXXXXX                  00140000
       HRC011DK: * DMKFMT736E IO ERROR XXX CCHHR = XXXXXXXXXX                            00141000
       HRC011DK: *            SENSE = XXXX...XXXX (UP TO 64 DIGITS)                      00142000
       HRC011DK: * DMKFMT737E INVALID OPERAND                                            00143000
       HRC011DK: * DMKFMT738A DEVICE XXX INTERVENTION REQUIRED                           00144000
       HRC011DK: * DMKFMT739E FLAGGED PRIMARY TRACK HAS NO ALTERNATE ASSIGNED, I/O ERROR 00145000
       HRC011DK: *            FOLLOWS                                                    00146000
       HRC011DK: * DMKFMT740E PACK MOUNTED IS 3340-35, NOT 3340-70.  MOUNT ANOTHER OR    00147000
       HRC011DK: *            RESPECIFY                                                  00148000
       HRC011DK: * DMKFMT741E DEVICE CUU IS YYYY, NOT YYYY-ZZ AS SPECIFIED.  RESPECIFY   00149000
       HRC011DK: *            OR NOTIFY SYSTEM SUPPORT                                   00150000
       HRC011DK: * DMKFMT742E ALLOCATION FUNCTION NOT ALLOWED - FORMAT OF VOLUME IS A    00151000
       HRC011DK: *            PREREQUISITE                                               00152000
       HRC011DK: * DMKFMT744E I/O ERROR XXX CODE=E4 CSW=XXXXXXXXXXXXXXXX                 00153000
       HRC011DK: * DMKFMT756E PROGRAM CHECK PSW = XXXXXXXXXXXXXXXX                       00154000
       HRC011DK: *                                                                       00155000
       HRC011DK: *        RESPONSES -                                                    00156000
       HRC011DK: *                                                                       00157000
       HRC011DK: *            VM/370 FORMAT/ALLOCATE PROGRAM RELEASE 6                   00158000
       HRC011DK: *            ENTER FORMAT OR ALLOCATE:                                  00159000
       HRC011DK: *            FORMAT FUNCTION SELECTED                                   00160000
       HRC011DK: *            ALLOCATE FUNCTION SELECTED                                 00161000
       HRC011DK: *            ENTER DEVICE ADDRESS (CUU):                                00162000
       HRC011DK: *            ENTER DEVICE TYPE:                                         00163000
       HRC011DK: *            ENTER ALLOCATION DATA FOR VOLUME xxxxxx                    00164000
       HRC011DK: *            TYPE CYL  CYL                                              00165000
       HRC011DK: *            .... .... .... (TYPE IN 3 OR 4 DIGIT NUMBERS)              00166000
       HRC011DK: *            DEVICE XXX VOLUME XXXXXX ALLOCATION ENDED                  00167000
       HRC011DK: *            ENTER START CYLINDER (XXX OR XXXX) OR "LABEL":             00168000
       HRC011DK: *            ENTER END CYLINDER (XXX OR XXXX):                          00169000
       HRC011DK: *            WRITE VERIFICATION NOT PERFORMED UNLESS REQUESTED.         00170000
       HRC011DK: *            ENTER "YES" FOR WRITE VERIFICATION:                        00171000
       HRC011DK: *            FORMAT STARTED                                             00172000
       HRC011DK: *            ENTER DEVICE LABEL:                                        00173000
       HRC011DK: *            FORMAT DONE                                                00174000
       HRC011DK: *            WRITE VERIFICATION WAS NOT PERFORMED                       00175000
       HRC011DK: *            XXXX PAGE RECORDS FLAGGED                                  00176000
       HRC011DK: *            ALLOCATION RESULTS                                         00177000
       HRC011DK: *            TEMP XXXX XXXX                                             00178000
       HRC011DK: *            PERM XXXX XXXX                                             00179000
       HRC011DK: *            TDSK XXXX XXXX                                             00180000
       HRC011DK: *            DRCT XXXX XXXX                                             00181000
       HRC011DK: *            LABEL IS NOW XXXXXX                                        00182000
       HRC011DK: *            XXXX NO. PAGE RECORDS WITH READ-CHECK ERRORS               00183000
       HRC011DK: *            NUMBER OF EXTENTS EXCEEDS MAXIMUM - RESPECIFY              00184000
       HRC011DK: *            NO VALID ALLOCATION RECORD.  ALLOCATE ENTIRE VOLUME OR     00185000
       HRC011DK: *               FORMAT PAGE 0                                           00186000
       HRC011DK: *            LOWEST ALLOCATABLE PAGE IS PAGE 2 - RESPECIFY              00187000
       HRC011DK: *            PAGE NUMBER INVALID - RESPECIFY                            00188000
       HRC011DK: *            TYPE IS INVALID - RESPECIFY                                00189000
       HRC011DK: *                                                                       00190000
       HRC011DK: * OPERATION -                                                           00191000
       HRC011DK: *                                                                       00192000
       HRC011DK: *        SEE BLOCK COMMENTS FOR DETAILED OPERATIONS                     00193000
       HRC011DK: *                                                                       00194000
       HRC011DK: *        THIS PROGRAM WILL FORMAT (FULL OR PARTIAL), ALLOCATE, AND      00195000
       HRC011DK: *        LABEL DASD DEVICES USING CONSOLE OR CARD INPUT.  THE DEVICES   00196000
       HRC011DK: *        WILL BE FORMATTED WITH 4K BYTE SIZE RECORDS.  THE CARD DEVICE  00197000
       HRC011DK: *        WILL BE SELECTED IF INPUT FOLLOWS THE IPL DECK AT IPL TIME.    00198000
       HRC011DK: *        IF NO INPUT FOLLOWS THE IPL DECK THEN THE CONSOLE WILL BE      00199000
       HRC011DK: *        SELECTED.  VOLUME LABELS WILL BE CHECKED FOR ALL OPERATIONS    00200000
       HRC011DK: *        THE FORMATTING OF CYLINDER OR PAGE 0 AND LABELLING.  CERTAIN   00201000
       HRC011DK: *        ERRORS DURING I/O ARE CONSIDERED FATAL AND THE FORMAT FUNCTION 00202000
       HRC011DK: *        IS ABORTED.  OTHER I/O ERRORS ARE TREATED AS SOFT ERRORS.  AT  00203000
       HRC011DK: *        THE END OF A RUN THE NUMBER OF "SOFT ERROR" RECORDS IS PRINTED 00204000
       HRC011DK: *        OUT.  FOR LABELLING, VOLUME LABELS MUST BE SIX CHARACTERS LONG 00205000
       HRC011DK: *        THE ALLOCATION FUNCTION OF THIS PROGRAM SIMPLY PROMPTS FOR THE 00206000
       HRC011DK: *        TYPE OF ALLOCATION AND UPDATES RECORD 4 ON CYLINDER 0 HEAD 0.  00207000
       HRC011DK: *                                                                       00208000
       HRC011DK: *        A. INITIALIZE PROGRAM, AND AFTER IPL, SAVE IPL DEVICE ADDRESS. 00209000
       HRC011DK: *           LOCATE CONSOLE AND GET CONSOLE ADDRESS.                     00210000
       HRC011DK: *                                                                       00211000
       HRC011DK: *        B. TEST FOR CARD INPUT OR CONSOLE INPUT AND WAIT FOR ATTENTION 00212000
       HRC011DK: *           INTERRUPT.                                                  00213000
       HRC011DK: *                                                                       00214000
       HRC011DK: *        C. IF PARAMETER INPUT IS IN IPL DEVICE, READ IN ONE FUNCTION   00215000
       HRC011DK: *           TO BE DONE AND VALIDATE CARD INPUT.  USE CONSOLE TO PRINT   00216000
       HRC011DK: *           FUNCTIONS TO BE EXECUTED.  IF NO IPL DEVICE INPUT, USE      00217000
       HRC011DK: *           CONSOLE TO PROMPT FOR FUNCTION TO BE PERFORMED.             00218000
       HRC011DK: *                                                                       00219000
       HRC011DK: *        D. GET DEVICE ADDRESS.                                         00220000
       HRC011DK: *                                                                       00221000
       HRC011DK: *        E. GET DEVICE TYPE.                                            00222000
       HRC011DK: *                                                                       00223000
       HRC011DK: *        F. ESTABLISH DEVICE CHARACTERISTICS.                           00224000
       HRC011DK: *                                                                       00225000
       HRC011DK: *        G. ISSUE SENSE ID COMMAND TO DEVICE.                           00226000
       HRC011DK: *                                                                       00227000
       HRC011DK: *        H. HANDLE PROGRAM CHECK/MACHINE CHECK.                         00228000
       HRC011DK: *                                                                       00229000
       HRC011DK: *        I. CARD/CONSOLE I/O INTERRUPT ROUTINE.                         00230000
       HRC011DK: *                                                                       00231000
       HRC011DK: *        J. VALIDATE CARD INPUT.                                        00232000
       HRC011DK: *                                                                       00233000
       HRC011DK: *        K. GET STARTING CYLINDER OR LABEL FOR CKD.                     00234000
       HRC011DK: *                                                                       00235000
       HRC011DK: *        M. ASK FOR LABEL.                                              00236000
       HRC011DK: *                                                                       00237000
       HRC011DK: *        N. HANDLE LABEL ONLY FUNCTION.                                 00238000
       HRC011DK: *                                                                       00239000
       HRC011DK: *        O. SAVE OS FORMAT 4 LABEL INFO FOR FORMATTING CKD CYLINDER 0.  00240000
       HRC011DK: *                                                                       00241000
       HRC011DK: *        P. *FORMAT*     - FORMAT FROM THE STARTING CYLINDER UP TO AND  00242000
       HRC011DK: *                          INCLUDING THE ENDING CYLINDER OF THE DASD    00243000
       HRC011DK: *                          AS REQUESTED BY CONSOLE OR IPL DEVICE INPUT. 00244000
       HRC011DK: *                          PROMPT FOR WRITE VERIFICATION IF THE DEVICE  00245000
       HRC011DK: *                          IS CKD 33XX SERIES.  WRITE VERIFICATION      00246000
       HRC011DK: *                          ONLY IF REQUESTED.                           00247000
       HRC011DK: *                                                                       00248000
       HRC011DK: *        Q. RESUME CKD FORMATTING FOLLOWING INTERRUPT RESOLUTION.       00249000
       HRC011DK: *                                                                       00250000
       HRC011DK: *        R. ADVANCE TO NEXT CYLINDER IN EXTENT FOR CKD FORMAT.          00251000
       HRC011DK: *                                                                       00252000
       HRC011DK: *        U. STIO - WRITE AND VERIFY PAGE SIZE RECORDS.                  00253000
       HRC011DK: *                                                                       00254000
       HRC011DK: *        V. CLEAN UP OPERATION; THEN GO GET NEW FUNCTION.               00255000
       HRC011DK: *                                                                       00256000
       HRC011DK: *        W. HANDLE FATAL ERROR ENCOUNTERED.                             00257000
       HRC011DK: *                                                                       00258000
       HRC011DK: *        X. ALLOCATE FUNCTION INITIALIZATION.                           00259000
       HRC011DK: *                                                                       00260000
       HRC011DK: *        Y. FETCH AND SET ALLOCATION TYPES.                             00261000
       HRC011DK: *                                                                       00262000
       HRC011DK: *        Z. *ALLOCATE*     - READ AND VERIFY CP VOLUME LABEL AND UPDATE 00263000
       HRC011DK: *                            ALLOCATION TABLE IN CORE FROM CONSOLE OR   00264000
       HRC011DK: *                            IPL DEVICE INPUT.                          00265000
       HRC011DK: *                                                                       00266000
       HRC011DK: *        BB. WRITE OUT ALLOCATION TABLE TO DASD.                        00267000
       HRC011DK: *                                                                       00268000
       HRC011DK: *        CC. WRITE OUT ALLOCATION TABLE TO CONSOLE.                     00269000
       HRC011DK: *                                                                       00270000
       HRC011DK: *        DD. HANDLE DASD I/O INTERRUPTS.                                00271000
       HRC011DK: *                                                                       00272000
       HRC011DK: *        EE. HANDLE TRACK CONDITION CHECK.                              00273000
       HRC011DK: *                                                                       00274000
       HRC011DK: *        FF. HANDLE READ OR SEARCH ID FAILURE.                          00275000
       HRC011DK: *                                                                       00276000
       HRC011DK: * SUBROUTINES:                                                          00277000
       HRC011DK: *                                                                       00278000
       HRC011DK: *    LNGCALC  - CALCULATE LENGTH OF WORD IN INDATA FIELD.               00279000
       HRC011DK: *                                                                       00280000
       HRC011DK: *    WMSG/WMSG2 - WRITE A MESSAGE ON THE CONSOLE.                       00281000
       HRC011DK: *                                                                       00282000
       HRC011DK: *    RMSG     - READ A RESPONSE FROM THE CONSOLE.                       00283000
       HRC011DK: *                                                                       00284000
       HRC011DK: *    GRAPHID  - GRAPHIC DEVICE INDICATOR ROUTINE CALLED TO READ FROM    00285000
       HRC011DK: *               OR WRITE TO GRAPHIC TYPE DEVICES.                       00286000
       HRC011DK: *                                                                       00287000
       HRC011DK: *    XBIN     - CHECK TO SEE IF INPUT IS VALID AND HAS CORRECT NUMBERS. 00288000
       HRC011DK: *               VALID NUMBERS ARE C1-C6 AND F0-F9.                      00289000
       HRC011DK: *                                                                       00290000
       HRC011DK: *    DIGBIN   - CONVERT EBCDIC NUMERIC VALUES TO BINARY.                00291000
       HRC011DK: *                                                                       00292000
       HRC011DK: *    CONVZER  - CONVERT BINARY NUMBERS TO PRINTABLE FORMAT.             00293000
       HRC011DK: *                                                                       00294000
       HRC011DK: *    DFOADSET - SCAN DFOTABLE UNTIL MATCHING DEVICE TYPE IS FOUND AND   00295000
       HRC011DK: *               GET THE ENTRY ADDRESS.                                  00296000
       HRC011DK: *                                                                       00297000
       HRC011DK: *    UPHDREC  - UPDATE THE RECORD NUMBERS AND HEAD NUMBERS IN CCW DATA  00298000
       HRC011DK: *               ACCORDING TO DFOTABLE ENTRY.                            00299000
       HRC011DK: *                                                                       00300000
       HRC011DK: *    SENSIT   - OBTAIN SENSE INFORMATION.                               00301000
       HRC011DK: *                                                                       00302000
       HRC011DK: *    SENSIT2  - PRINT SENSE AND CCHH ERROR INFORMATION.                 00303000
       HRC011DK: *                                                                       00304000
       HRC011DK: *    FMT744   - DISPLAY MESSAGE 744E FOLLOWING A SENSE ID FAILURE.      00305000
       HRC011DK: *                                                                       00306000
       HRC011DK: *    UNPKLOOP - UNPACK/TRANSLATE DATA, BLANK-FILL TO RIGHT BOUNDARY.    00307000
       HRC011DK: *                                                                       00308000
       HRC011DK: *    CORRCSW  - CORRECT THE CSW ADDRESS FOLLOWING AN IMPRECISE ENDING   00309000
       HRC011DK: *               CONDITION.                                              00310000
       HRC011DK: *                                                                       00311000
       HRC011DK: *    STRTIO   - ISSUE START I/O TO A DEVICE PRECEDED BY A TIO TO CLEAR  00312000
       HRC011DK: *               DEVICE STATUS.                                          00313000
       HRC011DK: *                                                                       00314000
       HRC011DK: *    STRTIO1  - ISSUE START I/O TO A DEVICE WITHOUT A TIO.              00315000
       HRC011DK: *                                                                       00316000
       HRC011DK: *    ALTCHK   - CHECK THE POINTERS IN FLAGGED PRIMARY TRACK AND         00317000
       HRC011DK: *               ALTERNATE TRACK TO SEE THAT EACH POINTS TO THE OTHER    00318000
       HRC011DK: *               AND RETURN CCHH ADDRESS OF WHICHEVER WE ARE CURRENTLY   00319000
       HRC011DK: *               NOT AT.                                                 00320000
       HRC011DK: *                                                                       00321000
       HRC011DK: *    SENSCCHH - COMPUTE CCHH FROM SENSE DATA READ PREVIOUSLY.           00322000
       HRC011DK: *                                                                       00323000
       HRC011DK: *.$******************************************************************** 00324000
       HRC011DK:          EJECT ,                                                        00325000
       HRC011DK: DMKFMT   START X'80'                                                    00326000
       HRC011DK:          SPACE ,                                                        00327000
       HRC011DK: *.3******************************************************************** 00328000
       HRC011DK: *                                                                       00329000
       HRC011DK: * OPERATION -                                                           00330000
       HRC011DK: *                                                                       00331000
       HRC011DK: * A. INITIALIZE PROGRAM AND SAVE IPL ADDRESS                            00332000
       HRC011DK: *                                                                       00333000
       HRC011DK: *        1. SET UP REGISTERS 8,11,12,13, AND 15 AS BASE REGISTERS.      00334000
       HRC011DK: *        2. GET IPL DEVICE ADDRESS FROM I/O OLD PSW AND STORE IT IN     00335000
       HRC011DK: *           IPLDEV.                                                     00336000
       HRC011DK: *        3. STORE PERTINENT INFORMATION CONCERNING OS LABELS AND        00337000
       HRC011DK: *           ALTERNATE TRACK INFORMATION.                                00338000
       HRC011DK: *        4. DISPLAY THE FMT TITLE MESSAGE.                              00339000
       HRC011DK: *        5. DETERMINE WHETHER INPUT IS FROM THE IPL DEVICE OR THE       00340000
       HRC011DK: *           CONSOLE.                                                    00341000
       HRC011DK: *                                                                       00342000
       HRC011DK: * LOCAL REGISTER USAGE -                                                00343000
       HRC011DK: *                                                                       00344000
       HRC011DK: *        R4  - TITLE MESSAGE ADDRESS                                    00345000
       HRC011DK: *        R10 - IPL UNIT ADDRESS                                         00346000
       HRC011DK: *        R14 - WORK                                                     00347000
       HRC011DK: *                                                                       00348000
       HRC011DK: *.$******************************************************************** 00349000
       HRC011DK:          SPACE ,                                                        00350000
       HRC011DK:          BALR  R15,0          FIRST BASE REGISTER                       00351000
       HRC011DK:          USING PSA,R0         PSA ADDRESSABILITY                        00352000
       HRC011DK:          USING *,R15,R12,R11,R13,R8 FMT BASE REGISTERS                  00353000
       HRC011DK:          LA    R12,2048(R15)  LOAD                                      00354000
       HRC011DK:          LA    R12,2048(R12)  SECOND BASE                               00355000
       HRC011DK:          LA    R11,2048(R12)  LOAD                                      00356000
       HRC011DK:          LA    R11,2048(R11)  THIRD BASE                                00357000
       HRC011DK:          LA    R13,2048(R11)  LOAD                                      00358000
       HRC011DK:          LA    R13,2048(R13)  FOURTH BASE                               00359000
       HRC011DK:          LA    R8,2048(R13)   LOAD                                      00360000
       HRC011DK:          LA    R8,2048(R8)    FIFTH BASE                                00361000
       HRC011DK:          LCTL  C2,C2,ENCHAN   ENABLE CHANNELS 6 THRU 15                 00362000
       HRC011DK:          SPACE ,                                                        00363000
       HRC011DK: *---------------------------------------------------------------------- 00364000
       HRC011DK: *        GET IPL DEVICE ADDRESS AND STORE IT                            00365000
       HRC011DK: *---------------------------------------------------------------------- 00366000
       HRC011DK:          SPACE ,                                                        00367000
       HRC011DK:          MVC   120(8),=A(0,IRA) SET UP I/O NEW PSW                      00368000
       HRC011DK:          LH    R14,2          GET IPL DEVICE FROM I/O OLD PSW           00369000
       HRC011DK:          TIO   0(R14)         CLEAR PENDING STATUS                      00370000
       HRC011DK:          BC    2,*-4          LOOP IF BUSY                              00371000
       HRC011DK:          STH   R14,IPLDEV     SAVE IPL DEVICE                           00372000
       HRC011DK:          MVC   104(8),PRNUPSW PROGRAM NEW PSW                           00373000
       HRC011DK:          MVC   112(8),MCNUPSW MACHINE CHECK NEW PSW                     00374000
       HRC011DK:          SPACE ,                                                        00375000
       HRC011DK: *---------------------------------------------------------------------- 00376000
       HRC011DK: *        IF CERTAIN INFORMATION IN THE OS FORMAT 4 LABEL ON TRACK 0     00377000
       HRC011DK: *        CYLINDER 0 IS DESTROYED, NO ADDITIONAL ALTERNATE TRACKS CAN BE 00378000
       HRC011DK: *        ASSIGNED UNTIL THE VOLUME IS RE-FORMATTED BY DSF (DEVICE       00379000
       HRC011DK: *        SUPPORT FACILITIES).  WHEN CP FORMAT/ALLOCATE OR DSF IS USED   00380000
       HRC011DK: *        TO FORMAT A VOLUME, THIS INFORMATION IS PRESERVED.             00381000
       HRC011DK: *---------------------------------------------------------------------- 00382000
       HRC011DK:          SPACE ,                                                        00383000
       HRC011DK:          MVC   SAVEVOL1(L'OSLABEL),OSLABEL SAVE OSLABEL INFO            00384000
       HRC011DK:          MVC   SAVEFMT4(96),FMT4DATA SAVE CP'S FMT4 CONTENTS            00385000
       HRC011DK:          MVC   WKSEEK(118),SEEKA SAVE SEEK FIELDS                       00386000
       HRC011DK:          MVC   RNSTUF(96),R1STUF SAVE 2314 RECORD FIELDS                00387000
       HRC011DK:          MVC   RNDATA(RNBYTE1),REC1 SAVE DASD RECORD FIELDS             00388000
       HRC011DK:          MVC   RNDATA+RNBYTE1(RNBYTE2),REC1+RNBYTE1   ...               00389000
       HRC011DK:          MVC   RNDATA1(RNBYTES1),RECXX3                                 00390000
       HRC011DK:          SPACE ,                                                        00391000
       HRC011DK: *---------------------------------------------------------------------- 00392000
       HRC011DK: *        DISPLAY TITLE MESSAGE 'VM/370 FORMAT/ALLOCATE PROGRAM'.        00393000
       HRC011DK: *---------------------------------------------------------------------- 00394000
       HRC011DK:          SPACE ,                                                        00395000
       HRC011DK: STMSG    EQU   *                                                        00396000
       HRC011DK:          XC    SAVE14(4),SAVE14 ZERO OUT FIELD                          00397000
       HRC011DK:          LA    R4,TITLE       GET TITLE ADDRESS                         00398000
       HRC011DK:          BAL   R14,WMSG2      AND PRINT TITLE MESSAGE                   00399000
       HRC011DK:          SPACE ,                                                        00400000
       HRC011DK: *---------------------------------------------------------------------- 00401000
       HRC011DK: *        DETERMINE WHETHER THIS IS CARD INPUT OR CONSOLE INPUT.  IF     00402000
       HRC011DK: *        THE CDSW2 SWITCH CONTAINS X'FF', THE IPL DEVICE IS STARTED     00403000
       HRC011DK: *        AND USED FOR INPUT.  OTHERWISE, CONSOLE INPUT IS ASSUMED.      00404000
       HRC011DK: *---------------------------------------------------------------------- 00405000
       HRC011DK:          SPACE ,                                                        00406000
       HRC011DK: GETCARD  MVC   CAW(4),=A(CARDCCW) SET CAW                               00407000
       HRC011DK:          MVC   120(8),CONSIRA     SET UP NEW IO PSW                     00408000
       HRC011DK:          TM    CDSW2,X'FF'    CARD SWITCH ON                            00409000
       HRC011DK:          BZ    NOCARD         NO- BRANCH                                00410000
       HRC011DK:          LH    R10,IPLDEV     IPL ADDRESS IN R10                        00411000
       HRC011DK:          TIO   0(R10)         CLEAR STATUS                              00412000
       HRC011DK:          BC    2,*-4          BRANCH BACK IF BUSY                       00413000
       HRC011DK: GETSIO   EQU   *                                                        00414000
       HRC011DK:          SIO   0(R10)         START IPL DEVICE                          00415000
       HRC011DK:          BC    8,XWAIT        IF STARTED WAIT                           00416000
       HRC011DK:          BC    2+1,NOCARD     CC2, CC3 (BUSY OR INOP), IGNORE           00417000
       HRC011DK:          TM    CSW+4,X'70'    DEV/CU BUSY OR CU END?                    00418000
       HRC011DK:          BNZ   GETSIO         YES, REDRIVE SIO                          00419000
       HRC011DK: NOCARD   MVC   CDSW(2),=X'0000' CLEAR CARD SWITCHES                     00420000
       HRC011DK:          XC    ALLOSW,ALLOSW    CLEAR ALLOC SWITCH USED IN CARD MODE    00421000
       HRC011DK:          XC    ALLOERR,ALLOERR  CLEAR ALLOC ERROR SWITCH - CARD MODE    00422000
       HRC011DK:          B     SELECT         NO, USE CONSOLE                           00423000
       HRC011DK:          EJECT ,                                                        00424000
       HRC011DK: *.3******************************************************************** 00425000
       HRC011DK: *                                                                       00426000
       HRC011DK: * OPERATION -                                                           00427000
       HRC011DK: *                                                                       00428000
       HRC011DK: * B. HANDLE CONSOLE ERRORS OR NORMAL ENDING CONDITIONS                  00429000
       HRC011DK: *                                                                       00430000
       HRC011DK: *        1. FOR 3215/3210/1052, THAT IS NOT DEVICE 009 OR 01F GO        00431000
       HRC011DK: *           WAIT FOR I/O INTERRUPT.                                     00432000
       HRC011DK: *        2. SET DEVICE 009 FOR GRAPHIC DEVICE.                          00433000
       HRC011DK: *        3. CHANGE DATA STEAM TO HANDLE 3277 SCREEN SIZE, GO TO         00434000
       HRC011DK: *           OPERATION A STEP 4.                                         00435000
       HRC011DK: *        4. IF NOT 3277, CHANGE DATA STREAM TO HANDLE 3278 MOD 2A       00436000
       HRC011DK: *           SCREEN SIZE, GO TO OPERATION A STEP 4.                      00437000
       HRC011DK: *        5. IF DEVICE 009 FAILS, SET DEVICE ADDRESS TO 01F AS 3215,     00438000
       HRC011DK: *           GO TO OPERATION A STEP 4.                                   00439000
       HRC011DK: *        6. IF DEVICE 01F IS NOT A 3215, CHANGE DATA STEAM TO           00440000
       HRC011DK: *           HANDLE 3277 SCREEN SIZE, GO TO OPERATION A STEP 4.          00441000
       HRC011DK: *        7. IF NOT 3277, CHANGE DATA STEAM TO HANDLE 3278 MOD 2A        00442000
       HRC011DK: *           SCREEN SIZE, GO TO OPERATION A STEP 4.                      00443000
       HRC011DK: *        8. IF DEVICE 01F FAILS, WAIT FOR I/O INTERRUPT.                00444000
       HRC011DK: *        9. AFTER I/O INTERRUPT OCCURS (FROM 'LPSW CONWAIT'), GET       00445000
       HRC011DK: *           ADDRESS AND TRY.                                            00446000
       HRC011DK: *                                                                       00447000
       HRC011DK: * LOCAL REGISTER USAGE -                                                00448000
       HRC011DK: *                                                                       00449000
       HRC011DK: *        NONE                                                           00450000
       HRC011DK: *                                                                       00451000
       HRC011DK: *.$******************************************************************** 00452000
       HRC011DK:          SPACE ,                                                        00453000
       HRC011DK: IRA      EQU   *                                                        00454000
       HRC011DK:          TM    PARM2,X'80'    IS NOT OPERATIONAL INDICATED              00455000
       HRC011DK:          BO    CONPARM        YES, GO TEST FOR CORRECT DEVICE           00456000
       HRC011DK:          TM    CSW+4,UC       IS UNIT CHECK INDICATED ?                 00457000
       HRC011DK:          BZ    CONSINT        NO, GO TO ERROR HANDLER                   00458000
       HRC011DK:          SPACE ,                                                        00459000
       HRC011DK: *---------------------------------------------------------------------- 00460000
       HRC011DK: *        IF A UNIT CHECK IS INDICATED, THEN ISSUE A SENSE TO CLEAR THE  00461000
       HRC011DK: *        CONTINGENT CONNECTION FROM A POSSIBLE CONTROL UNIT AT THIS     00462000
       HRC011DK: *        ADDRESS. THIS ALLOWS I/O TO CONTINUE FOR OTHER DEVICES ON THE  00463000
       HRC011DK: *        SAME CONTROLLER.                                               00464000
       HRC011DK: *        FOR A 3215/3210/1052 CONSOLE, GO WAIT FOR AN I/O INTERRUPT     00465000
       HRC011DK: *        BEFORE CONTINUING.  FOR AN ADDRESS OF 01F, THIS MUST BE A      00466000
       HRC011DK: *        GRAPHIC CONSOLE SO GO CHECK FOR IT.  IF NOT (WE USED X'009' AS 00467000
       HRC011DK: *        DEFAULT CONSOLE), THEN TRY WRITING TO A X'01F' ADDRESS NOW.    00468000
       HRC011DK: *---------------------------------------------------------------------- 00469000
       HRC011DK:          SPACE ,                                                        00470000
       HRC011DK:          LA    R1,CCWSENSE    GET SENSE CCW                             00471000
       HRC011DK:          ST    R1,CAW         SAVE ADDRESS IN LOW STORAGE               00472000
       HRC011DK:          XC    SENSE,SENSE    CLEAR SENSE BYTE SAVE AREA                00473000
       HRC011DK: SIOBSY   SIO   0(R10)         CLEAR CONTINGENT CONNECTION               00474000
       HRC011DK:          BC    2,SIOBSY       CC2, BUSY, RE-ISSUE SENSE                 00475000
       HRC011DK:          BC    8,CLRINT       CC0, CLEAR INTERRUPTS WITH TIO            00476000
       HRC011DK:          BC    1,CONPARM      CC3, DEVICE NOT OPERATIONAL               00477000
       HRC011DK:          CLI   CSW+4,SM+BUSY+CUE  TEMPORARY CONTROL UNIT BUSY?          00478000
       HRC011DK:          BE    SIOBSY         YES, GO RETRY                             00479000
       HRC011DK: CLRINT   DS    0H             AFTER GOOD SIO FOR SENSE                  00480000
       HRC011DK: TIOBSY   TIO   0(R10)         CLEAR ANY INTERRUPTS                      00481000
       HRC011DK:          BC    2,TIOBSY       CC2, BUSY, RE-ISSUE TIO                   00482000
       HRC011DK:          SPACE ,                                                        00483000
       HRC011DK: CONPARM  EQU   *                                                        00484000
       HRC011DK:          NI    PARM2,X'FF'-X'80' MASK OFF DEVICE NOT OPERAT.            00485000
       HRC011DK:          TM    PARM,PARM321   IS THIS A 3215/3210/1052                  00486000
       HRC011DK:          BNO   TESTGRAP       NO, TRY AS A GRAPHICS DEVICE              00487000
       HRC011DK:          CLC   LAB3270A+2(2),ADDR3 HAVE TRIED THIS AS 3278 2A           00488000
       HRC011DK:          BE    TESTMORE       YES, CHECK IF THIS IS DEV 01F             00489000
       HRC011DK:          SPACE ,                                                        00490000
       HRC011DK: *---------------------------------------------------------------------- 00491000
       HRC011DK: *        FOR GRAPHIC DISPLAY TERMINALS, CHANGE THE DATA STREAM TO       00492000
       HRC011DK: *        HANDLE THE VARYING SCREEN SIZES.  THE DATA TO DISPLAY ON THE   00493000
       HRC011DK: *        GRAPHIC SCREEN INCLUDES THE CURSOR AND THE STATUS IN THE       00494000
       HRC011DK: *        LOWER RIGHT HAND CORNER.  THE CONTROL CCWS ACCESS THE LAB3270X 00495000
       HRC011DK: *        AREAS TO PUT THESE ON THE SCREEN.  TABLE70 HAS THE ADDRESSES   00496000
       HRC011DK: *        OF EACH LINE AND COLUMN AND THESE ADDRESSES ARE SPECIFIED      00497000
       HRC011DK: *        WITHIN THE LAB3270X AREAS.                                     00498000
       HRC011DK: *---------------------------------------------------------------------- 00499000
       HRC011DK:          SPACE ,                                                        00500000
       HRC011DK: TESTGRAP EQU   *                                                        00501000
       HRC011DK:          TM    PARM,PARMGRP   IS THIS A GRAPHIC DEVICE ?                00502000
       HRC011DK:          BO    TES3270T       YES, GO TEST FOR 3270 DEVICE              00503000
       HRC011DK:          OI    PARM,PARMGRP+PARMCLE SET GRAPHIC & ERASE                 00504000
       HRC011DK: *                             INDICATORS                                00505000
       HRC011DK: *---------------------------------------------------------------------- 00506000
       HRC011DK: *        FOR A 3277, THE MAXIMUM ALLOWABLE SCREEN SIZE IS 24 LINES.     00507000
       HRC011DK: *        WE MUST THEREFORE CHANGE THE DATA STREAM TO HANDLE THIS SCREEN 00508000
       HRC011DK: *        SIZE.                                                          00509000
       HRC011DK: *---------------------------------------------------------------------- 00510000
       HRC011DK:          SPACE ,                                                        00511000
       HRC011DK: TES3270T EQU   *                                                        00512000
       HRC011DK:          TM    PARM,PARMGRP+PARM327 IS THIS A 3270 DEVICE ?             00513000
       HRC011DK:          BO    TEST3278       YES, GO CHECK IF 3278                     00514000
       HRC011DK:          OI    PARM,PARM327   SET THE 3270 INDICATOR                    00515000
       HRC011DK:          MVC   LAB3270A+2(2),ADDR1 CURSOR START-1                       00516000
       HRC011DK:          MVC   LAB3270A+8(2),ADDR2 RUNNING STATUS START-1               00517000
       HRC011DK:          MVC   LAB3270B+2(2),ADDR1 CURSOR START-1                       00518000
       HRC011DK:          MVC   LAB3270B+8(2),ADDR2 CP READ STATUS START-1               00519000
       HRC011DK:          MVC   LAB3270C+2(2),ADDR2 HOLDING STATUS START-1               00520000
       HRC011DK:          MVC   LAB3270D+2(2),ADDR1 CURSOR START-1                       00521000
       HRC011DK:          MVC   LAB3270E+5(2),ADDR1 CURSOR START-1                       00522000
       HRC011DK:          MVC   LAB3270E+12(2),ADDR2 STATUS AREA                         00523000
       HRC011DK:          MVC   ADDR5,ADDR6    ESTABLISH ADDR FOR CURSOR CHECK           00524000
       HRC011DK:          MVC   MAXLEN,LEN3270 SET THE MAXIMUM LENGTH                    00525000
       HRC011DK:          B     STMSG          GO TRY THIS ADDR FOR GRAPHICS             00526000
       HRC011DK:          SPACE ,                                                        00527000
       HRC011DK: *---------------------------------------------------------------------- 00528000
       HRC011DK: *        FOR A 3278 MOD 2A, THE MAXIMUM ALLOWABLE SCREEN SIZE IS 20     00529000
       HRC011DK: *        LINES.  WE MUST THEREFORE CHANGE THE DATA STREAM FOR THIS      00530000
       HRC011DK: *        SCREEN SIZE.                                                   00531000
       HRC011DK: *---------------------------------------------------------------------- 00532000
       HRC011DK:          SPACE ,                                                        00533000
       HRC011DK: TEST3278 EQU *                                                          00534000
       HRC011DK:          CLC   LAB3270A+2(2),ADDR3 HAVE WE TRIED 3278 LOGIC             00535000
       HRC011DK:          BE    TEST3215           MUST BE 3210-3215-1052                00536000
       HRC011DK:          MVC   LAB3270A+2(2),ADDR3 CURSOR START-1                       00537000
       HRC011DK:          MVC   LAB3270A+8(2),ADDR4 RUNNING STATUS START-1               00538000
       HRC011DK:          MVC   LAB3270B+2(2),ADDR3 CURSOR START-1                       00539000
       HRC011DK:          MVC   LAB3270B+8(2),ADDR4 CP READ STATUS START-1               00540000
       HRC011DK:          MVC   LAB3270C+2(2),ADDR4 HOLDING STATUS START-1               00541000
       HRC011DK:          MVC   LAB3270D+2(2),ADDR3 CURSOR START-1                       00542000
       HRC011DK:          MVC   LAB3270E+5(2),ADDR3 CURSOR START-1                       00543000
       HRC011DK:          MVC   LAB3270E+12(2),ADDR4 STATUS AREA                         00544000
       HRC011DK:          MVC   ADDR5,ADDR7    ESTABLISH ADDR FOR CURSOR CHECK           00545000
       HRC011DK:          MVC   MAXLEN,LEN3278 SET THE MAXIMUM LENGTH                    00546000
       HRC011DK:          B     STMSG          GO TRY THIS ADDR FOR GRAPHICS             00547000
       HRC011DK:          SPACE ,                                                        00548000
       HRC011DK: *---------------------------------------------------------------------- 00549000
       HRC011DK: *        TEST FOR 3215 DEVICE                                           00550000
       HRC011DK: *---------------------------------------------------------------------- 00551000
       HRC011DK:          SPACE ,                                                        00552000
       HRC011DK: TEST3215 EQU   *                                                        00553000
       HRC011DK:          MVI   PARM,PARM321   SET THE 3210-3215-1052 FLAG               00554000
       HRC011DK:          TM    PARM,PARM01F   HAVE WE TRIED DEVICE 01F?                 00555000
       HRC011DK:          BO    TESTMORE       YES, SEE IF THIS REALLY IS 01F            00556000
       HRC011DK:          OI    PARM,PARM01F   SET 01F FLAG                              00557000
       HRC011DK:          MVC   CONSOL,CON01F  SET DEVICE ADDRESS 01F                    00558000
       HRC011DK:          MVC   LAB3270A+2(2),ADDR5  RESET 3278 MOD 2A FLAG              00559000
       HRC011DK:          B     STMSG          TRY 01F AS A 3215                         00560000
       HRC011DK: TESTMORE DS    0H                                                       00561000
       HRC011DK:          CLC   CONSOL,CON01F  IS THIS REALLY DEVICE 01F                 00562000
       HRC011DK:          BNE   STMSG          NO, GO TRY THIS ADDRESS A 3215            00563000
       HRC011DK:          MVC   120(8),=A(0,CONRET) CHANGE THE I/O NEW PSW               00564000
       HRC011DK: FMTLPSW  DS    0H                                                       00565000
       HRC011DK:          NI    PARM,PARM01F   LEAVE ON ONLY 01F FLAG                    00566000
       HRC011DK:          LPSW  WAITCON        WAIT FOR I/O INTERRUPT                    00567000
       HRC011DK: CONRET   EQU   *                                                        00568000
       HRC011DK:          OC    CSW,CSW        CHANNEL AVAILABLE INTERRUPT ?             00569000
       HRC011DK:          BZ    FMTLPSW        YES, GO WAIT FOR INTERRUPT                00570000
       HRC011DK:          TM    CSW+4,CUE      CUE FROM IPL DEVICE?                      00571000
       HRC011DK:          BNO   GETADDR        NO, GET INTERRUPTING DEVICE ADDR          00572000
       HRC011DK:          LPSW  WAITCON        WAIT FOR A CONSOLE I/O INTERRUPT          00573000
       HRC011DK:          SPACE ,                                                        00574000
       HRC011DK: GETADDR  DS    0H                                                       00575000
       HRC011DK:          MVC   CONSOL(2),58   GET THE DEVICE ADDRESS                    00576000
       HRC011DK:          MVC   120(8),=A(0,IRA) CHANGE THE I/O NEW PSW                  00577000
       HRC011DK:          B     STMSG          GO TRY THIS ADDRESS                       00578000
       HRC011DK: *.3******************************************************************** 00579000
       HRC011DK: *                                                                       00580000
       HRC011DK: * OPERATION -                                                           00581000
       HRC011DK: *                                                                       00582000
       HRC011DK: * C. DISPLAY 'ENTER FORMAT OR ALLOCATE' MESSAGE AND READ IN RESPONSE.   00583000
       HRC011DK: *                                                                       00584000
       HRC011DK: *        1. LOAD FORMAT OR ALLOCATE MESSAGE AND GO READ RESPONSE.       00585000
       HRC011DK: *           IF CARD INPUT, THE PROMPTER MESSAGE INCLUDES THE RESPONSE   00586000
       HRC011DK: *           THAT WAS ALREADY SPECIFIED IN CARDS.                        00587000
       HRC011DK: *        2. ISSUE MESSAGE INDICATING WHICH FUNCTION WAS SELECTED.       00588000
       HRC011DK: *        3. GET DEVICE ADDRESS AT OP D.                                 00589000
       HRC011DK: *                                                                       00590000
       HRC011DK: * LOCAL REGISTER USAGE -                                                00591000
       HRC011DK: *                                                                       00592000
       HRC011DK: *        R4  - WORK                                                     00593000
       HRC011DK: *        R14 - LINKAGE                                                  00594000
       HRC011DK: *                                                                       00595000
       HRC011DK: *.$******************************************************************** 00596000
       HRC011DK:          SPACE ,                                                        00597000
       HRC011DK: *---------------------------------------------------------------------- 00598000
       HRC011DK: *        ISSUE MESSAGE 'ENTER FORMAT OR ALLOCATE:' AND READ THE         00599000
       HRC011DK: *        RESPONSE.  FOR CARD INPUT, THE CARD CONTAINS THE RESPONSE TO   00600000
       HRC011DK: *        READ.                                                          00601000
       HRC011DK: *---------------------------------------------------------------------- 00602000
       HRC011DK:          SPACE ,                                                        00603000
       HRC011DK: SELECT   LA    R4,FORA        SET UP TO PRINT FORMAT OR ALLOCATE        00604000
       HRC011DK:          BAL   R14,WMSG       FORMAT OR ALLOCATE MSG                    00605000
       HRC011DK:          MVI   FLAG,X'00'     CLEAR FLAG BTYE                           00606000
       HRC011DK:          BAL   R14,RMSG       GO READ RESPONSE                          00607000
       HRC011DK:          TM    CSW+4,UE       UNIT EXCEPTION OR UNIT CK                 00608000
       HRC011DK:          BO    SELECT         YES,BRANCH                                00609000
       HRC011DK:          XC    FIELDA,FIELDA  CLEAR FIELDA                              00610000
       HRC011DK:          XC    FIELDB,FIELDB  CLEAR FIELDB                              00611000
       HRC011DK:          BAL   R14,LNGCALC    GET WORD LENGTH                           00612000
       HRC011DK:          BNZ   SELECT         BR IF LENGTH = 0 OR GT 8                  00613000
       HRC011DK:          EX    R4,TSTALLOC    HOW ABOUT ALLOCATE ?                      00614000
       HRC011DK:          BE    ALLOC          IF SO, HANDLE IT ....                     00615000
       HRC011DK:          EX    R4,TSTFRMT     IS IT FORMAT ?                            00616000
       HRC011DK:          BNE   SELECT         IF NOT, TRY AGAIN                         00617000
       HRC011DK:          SPACE ,                                                        00618000
       HRC011DK: *---------------------------------------------------------------------- 00619000
       HRC011DK: *        FOR FORMAT, DISPLAY THE MESSAGE 'FORMAT FUNCTION SELECTED' AND 00620000
       HRC011DK: *        GO GET THE DEVICE ADDRESS.  FOR ALLOCATE, DISPLAY THE MESSAGE  00621000
       HRC011DK: *        'ALLOCATION FUNCTION SELECTED' AND GO GET DEVICE ADDRESS.      00622000
       HRC011DK: *---------------------------------------------------------------------- 00623000
       HRC011DK:          SPACE ,                                                        00624000
       HRC011DK: FORM     MVC   FLAG(1),COMWOK SET FLAG TO 'F'                           00625000
       HRC011DK:          LA    R4,FMTMSG      SET UP MESSAGE                            00626000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             00627000
       HRC011DK:          B     DEVICEAD       GO GET DEVICE ADDRESS                     00628000
       HRC011DK:          SPACE ,                                                        00629000
       HRC011DK: ALLOC    MVC   FLAG(1),COMWOK SET FLAG TO 'A'                           00630000
       HRC011DK:          NI    FLAG1,255-ALLOCWR TURN OFF FLAG TO WRITE                 00631000
       HRC011DK:          LA    R4,ALLOCMSG    SET UP ALLOCATE MESSAGE                   00632000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             00633000
       HRC011DK: *.3******************************************************************** 00634000
       HRC011DK: *                                                                       00635000
       HRC011DK: * OPERATION -                                                           00636000
       HRC011DK: *                                                                       00637000
       HRC011DK: * D. GET DEVICE ADDRESS                                                 00638000
       HRC011DK: *                                                                       00639000
       HRC011DK: *       1. WRITE DEVICE MESSAGE AND GET RESPONSE.                       00640000
       HRC011DK: *       2. MOVE THE DEVICE ADDRESS INTO ANY ERROR MESSAGES THAT MIGHT   00641000
       HRC011DK: *          HAVE TO BE ISSUED LATER.                                     00642000
       HRC011DK: *       3. ONLY THREE HEX DIGITS ALLOWED; MAKE SURE 3 ENTERED AND ARE   00643000
       HRC011DK: *          VALID.                                                       00644000
       HRC011DK: *       4. ISSUE SENSE AND VERIFY THAT THE DEVICE IS OPERATIONAL AND    00645000
       HRC011DK: *          READY.                                                       00646000
       HRC011DK: *                                                                       00647000
       HRC011DK: * LOCAL REGISTER USAGE                                                  00648000
       HRC011DK: *                                                                       00649000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          00650000
       HRC011DK: *        R5  - DASD ADDRESS FOR SIO                                     00651000
       HRC011DK: *        R7  - LINKAGE                                                  00652000
       HRC011DK: *        R8  - ADDRESS OF INPUT                                         00653000
       HRC011DK: *        R9  - MESSAGE LENGTH                                           00654000
       HRC011DK: *        R10 - HEX DEVICE ADDRESS                                       00655000
       HRC011DK: *        R14 - LINKAGE                                                  00656000
       HRC011DK: *                                                                       00657000
       HRC011DK: *.$******************************************************************** 00658000
       HRC011DK:          SPACE ,                                                        00659000
       HRC011DK: *---------------------------------------------------------------------- 00660000
       HRC011DK: *        ISSUE MESSAGE 'ENTER DEVICE ADDRESS (CUU):' AND READ RESPONSE. 00661000
       HRC011DK: *---------------------------------------------------------------------- 00662000
       HRC011DK:          SPACE ,                                                        00663000
       HRC011DK: DEVICEAD LA    R4,ADDRESS     REQUEST DEVICE ADDRESS                    00664000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             00665000
       HRC011DK:          BAL   R14,RMSG       READ RESPONSE                             00666000
       HRC011DK:          TM    CSW+4,UE       CANCEL KEY OR UNIT CHECK                  00667000
       HRC011DK:          BO    DEVICEAD       TRY AGAIN IF CANCEL                       00668000
       HRC011DK: *        'OR'ING ANYTHING WITH BLANKS SETS IT TO UPPER CASE.            00669000
       HRC011DK:          OC    INDATA(4),BLANKS8 CONVERT TO UPPER CASE                  00670000
       HRC011DK:          CLI   INDATA+3,X'40' ANYTHING EXTRA ?                          00671000
       HRC011DK:          BNE   DEVICEAD       YES, GO ISSUE DEVICE MESSAGE              00672000
       HRC011DK:          SPACE ,                                                        00673000
       HRC011DK: *---------------------------------------------------------------------- 00674000
       HRC011DK: *        MOVE DEVICE ADDRESS INTO MESSAGES IN CASE ERROR OCCURS LATER.  00675000
       HRC011DK: *---------------------------------------------------------------------- 00676000
       HRC011DK:          SPACE ,                                                        00677000
       HRC011DK:          MVC   WR1+16(3),INDATA    MOVE IN THE DEV ADD                  00678000
       HRC011DK:          MVC   ALLEND+8(3),INDATA  MOVE DEVICE ADD INTO MESSAGES        00679000
       HRC011DK:          MVC   IOERR+21(3),INDATA  MOVE DEVICE ADD INTO MESSAGES        00680000
       HRC011DK:          MVC   IPLERROR+17(3),INDATA   MOVE DEVICE ADD INTO MESSAGE     00681000
       HRC011DK:          MVC   WRDEV1AD,INDATA     DEVICE ADDRESS INTO MESSAGE          00682000
       HRC011DK:          LA    R9,3           PUT MESSAGE LENGTH IN REG9                00683000
       HRC011DK:          SPACE ,                                                        00684000
       HRC011DK: *---------------------------------------------------------------------- 00685000
       HRC011DK: *        PARAMETER MUST BE THREE HEX DIGITS LONG - MAKE SURE ONLY THREE 00686000
       HRC011DK: *        DIGITS ENTERED AND THAT THEY ARE VALID.                        00687000
       HRC011DK: *---------------------------------------------------------------------- 00688000
       HRC011DK:          SPACE ,                                                        00689000
       HRC011DK:          ST    R8,REG8SAVE    SAVE R8 ACROSS BAL                        00690000
       HRC011DK:          LA    R8,INDATA      ADDRESS OF INPUT IN R8                    00691000
       HRC011DK:          BAL   R7,XBIN        GO TO HEX CONVERSION ROUTINE              00692000
       HRC011DK:          L     R8,REG8SAVE    RESTORE R8 FROM SAVE                      00693000
       HRC011DK:          LTR   R10,R10        WAS IT BAD HEX ADDRESS                    00694000
       HRC011DK:          BM    DEVICEAD       YES, TRY AGAIN                            00695000
       HRC011DK:          SPACE ,                                                        00696000
       HRC011DK: *---------------------------------------------------------------------- 00697000
       HRC011DK: *        ISSUE SENSE TO THE DEVICE.  IF INTERVENTION REQUIRED OR NOT    00698000
       HRC011DK: *        READY DEVICE, THEN ISSUE 'DEV XXX NOT OPERATIONAL OR NOT       00699000
       HRC011DK: *        READY'.  RE-ISSUE REQUEST TO ENTER DEVICE ADDRESS.  OTHERWISE, 00700000
       HRC011DK: *        GO TO DEVTYPE TO GET DEVICE TYPE.                              00701000
       HRC011DK: *---------------------------------------------------------------------- 00702000
       HRC011DK:          SPACE ,                                                        00703000
       HRC011DK:          STH   R10,DSKADD     SAVE HEX DEVICE ADDRESS                   00704000
       HRC011DK:          MVC   CAW(4),=A(CCWSENSE) SET THE CAW.                         00705000
       HRC011DK:          LH    R5,DSKADD      GET THE DASD ADDRESS FOR STARTIO          00706000
       HRC011DK:          BAL   R14,STRTIO     GO START THE I/O. IS IT THERE?            00707000
       HRC011DK:          BC    1,NOTHERE      NOPE - ARGH.                              00708000
       HRC011DK:          TIO   0(R10)         YES - DRAIN THE INT.                      00709000
       HRC011DK:          BC    2,*-4          . . .                                     00710000
       HRC011DK:          TM    SENSEB0,INTREQ INTERVENTION REQUIRED (DISK NOT           00711000
       HRC011DK: *                             READY OR PACK NOT MOUNTED)?               00712000
       HRC011DK:          BZ    DEVTYPE        NO, IT'S READY.                           00713000
       HRC011DK: NOTHERE  EQU   *                                                        00714000
       HRC011DK:          LA    R4,WR1         NO,SET UP NOT AVAILABLE MESSAGE           00715000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             00716000
       HRC011DK: DVCAGAIN TM    CDSW2,X'FF'    IS SW ON?                                 00717000
       HRC011DK:          BO    BADINPUT       IF ON BRANCH                              00718000
       HRC011DK:          B     DEVICEAD       GIVE HIM A CHANCE TO ENTER                00719000
       HRC011DK: *                             CORRECTED ADDRESS OR TO READY THE         00720000
       HRC011DK: *                             DEVICE AND RE-ENTER SAME ADDRESS.         00721000
       HRC011DK: *.3******************************************************************** 00722000
       HRC011DK: *                                                                       00723000
       HRC011DK: * OPERATION -                                                           00724000
       HRC011DK: *                                                                       00725000
       HRC011DK: * E. GET DEVICE TYPE                                                    00726000
       HRC011DK: *                                                                       00727000
       HRC011DK: *        1. ISSUE 'ENTER DEVICE TYPE:' MESSAGE AND READ RESPONSE.       00728000
       HRC011DK: *        2. FOR CKD, GO TO OP F.                                        00729000
       HRC011DK: *        3. CALCULATE THE MAXIMUM PAGE SIZE ALLOWED TO BE SPECIFIED     00730000
       HRC011DK: *           BY THE USER AND THEN GO OP K OR OP L FOR FORMAT OR OP M     00731000
       HRC011DK: *           FOR LABEL OR ALLOCATE.                                      00732000
       HRC011DK: *                                                                       00733000
       HRC011DK: * LOCAL REGISTER USAGE -                                                00734000
       HRC011DK: *                                                                       00735000
       HRC011DK: *        R3  - WORK                                                     00736000
       HRC011DK: *        R4  - WORK/MESSAGE ADDRESS                                     00737000
       HRC011DK: *        R5  - WORK                                                     00738000
       HRC011DK: *        R6  - WORK                                                     00739000
       HRC011DK: *        R7  - WORK                                                     00740000
       HRC011DK: *        R9  - READ DEVICE CHARACTERISTICS CCW ADDRESS                  00741000
       HRC011DK: *        R10 - DEVICE ADDRESS                                           00742000
       HRC011DK: *        R14 - LINKAGE                                                  00743000
       HRC011DK: *                                                                       00744000
       HRC011DK: *.$******************************************************************** 00745000
       HRC011DK:          SPACE ,                                                        00746000
       HRC011DK: *---------------------------------------------------------------------- 00747000
       HRC011DK: *        ISSUE MESSAGE 'ENTER DEVICE TYPE:' AND READ THE USER RESPONSE. 00748000
       HRC011DK: *        CHECK FOR CORRECT DEVICE TYPE LENGTH AND THEN MOVE THE IT INTO 00749000
       HRC011DK: *        WRDEV1SP, WHICH IS THE USER-SPECIFIED DEVICE TYPE.             00750000
       HRC011DK: *---------------------------------------------------------------------- 00751000
       HRC011DK:          SPACE ,                                                        00752000
       HRC011DK: DEVTYPE  EQU   *                                                        00753000
       HRC011DK:          LA    R4,TYPMSG      SET UP TO TYPE MESSAGE                    00754000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             00755000
       HRC011DK:          BAL   R14,RMSG       READ RESPONSE                             00756000
       HRC011DK:          TM    CSW+4,UE       CANCEL KEY OR UNIT CHECK?                 00757000
       HRC011DK:          BO    DEVTYPE        YES, TRY AGAIN                            00758000
       HRC011DK:          OC    INDATA(8),BLANKS8 CONVERT TO UPPERCASE                   00759000
       HRC011DK:          MVC   OSLABEL,SAVEVOL1 AND USE CKD TYPE LABEL                  00760000
       HRC011DK:          BAL   R14,LNGCALC    GET INPUT LENGTH                          00761000
       HRC011DK:          BNZ   DEVTYPE        IF 0 OR GT 8                              00762000
       HRC011DK:          MVC   WRDEV1SP,BLANKS8 CLEAR 'SPECIFIED D/T' IN MSG            00763000
       HRC011DK:          MVC   WRDEV1SP,INDATA  MOVE SPECIFIED D/T INTO MSG             00764000
       HRC011DK: *.3******************************************************************** 00765000
       HRC011DK: *                                                                       00766000
       HRC011DK: * OPERATION -                                                           00767000
       HRC011DK: *                                                                       00768000
       HRC011DK: * F. ESTABLISH DEVICE CHARACTERISTICS                                   00769000
       HRC011DK: *                                                                       00770000
       HRC011DK: *        1. USE DEVTBL1 AND DEVTBL2 TO FIND DEVICE MATCH.               00771000
       HRC011DK: *        2. SET UP DEVICE SPECIFIC PARAMETERS:                          00772000
       HRC011DK: *                  GO (CCW ADDRESS)                                     00773000
       HRC011DK: *                  HIVALUE                                              00774000
       HRC011DK: *                  RECVALUE                                             00775000
       HRC011DK: *                  TYPE                                                 00776000
       HRC011DK: *                  WVFLAGS  - PROMPT FOR WRITE VERIFICATION             00777000
       HRC011DK: *        3. USE FEATURE INDEX FOR SPECIAL HANDLING:                     00778000
       HRC011DK: *                  3380 - SET UP HDVALUE+1                              00779000
       HRC011DK: *                  3330 AND 3330-11 - SET UP WR57 AND RD57              00780000
       HRC011DK: *                  3340 - VERIFY PACK SIZE SPECIFIED CORRECTLY          00781000
       HRC011DK: *                                                                       00782000
       HRC011DK: * LOCAL REGISTER USAGE -                                                00783000
       HRC011DK: *                                                                       00784000
       HRC011DK: *        R3  - DEVTBL1 - DEVICE TYPE SPECIFIC PARAMETERS                00785000
       HRC011DK: *        R4  - DEVTBL2 - DEVICE NAME COMPARISON TABLES                  00786000
       HRC011DK: *        R5  - WORK REGISTER                                            00787000
       HRC011DK: *                                                                       00788000
       HRC011DK: *.$******************************************************************** 00789000
       HRC011DK:          SPACE ,                                                        00790000
       HRC011DK: *---------------------------------------------------------------------- 00791000
       HRC011DK: * DEFAULT TO 1K ALLOCATION MAP AND 4K FILLER RECORD.                    00792000
       HRC011DK: *---------------------------------------------------------------------- 00793000
       HRC011DK:          SPACE ,                                                        00794000
       HRC011DK: CHECKCKD DS    0H             GET DEVICE CHARACTERISTICS                00795000
       HRC011DK:          MVC   R4DL,=H'1024'  DEFAULT RECORD 4 DATA LENGTH              00796000
       HRC011DK:          MVC   RF7DL,=H'4096' DEFAULT 3380 FILLER DATA LENGTH           00797000
       HRC011DK:          XC    HDVALUE,HDVALUE  CLEAR HIGHEST HEAD NUMBER               00798000
       HRC011DK:          SPACE ,                                                        00799000
       HRC011DK: *---------------------------------------------------------------------- 00800000
       HRC011DK: * INITIALIZE REGISTERS FOR TABLE SEARCH.                                00801000
       HRC011DK: *---------------------------------------------------------------------- 00802000
       HRC011DK:          SPACE ,                                                        00803000
       HRC011DK:          L     R3,=A(DEVTBL1) DEVICE PARAMETER TABLE ADDRESS            00804000
       HRC011DK:          L     R4,=A(DEVTBL2) DEVICE NAME TABLE ADDRESS                 00805000
       HRC011DK:          SR    R5,R5          CLEAR WORK REGISTER                       00806000
       HRC011DK:          SPACE ,                                                        00807000
       HRC011DK: *---------------------------------------------------------------------- 00808000
       HRC011DK: * SEARCH FOR MATCHING DEVICE TYPE.  IF MATCH NOT FOUND, THEN POINT TO   00809000
       HRC011DK: * THE NEXT ONE AND LOOP AT DEVSRCH.  IF NO MATCH FOUND IN TABLE, ASK    00810000
       HRC011DK: * USER FOR ANOTHER.                                                     00811000
       HRC011DK: *---------------------------------------------------------------------- 00812000
       HRC011DK:          SPACE ,                                                        00813000
       HRC011DK: DEVSRCH  DS    0H             SEARCH TABLE FOR MATCH                    00814000
       HRC011DK:          IC    R5,DEVARGLN(R3)  LOAD DEVICE NAME LENGTH-1               00815000
       HRC011DK:          EX    R5,DEVCHECK    PERFORM THE NAME COMPARE                  00816000
       HRC011DK:          BE    DEVFOUND       BRANCH IF MATCH NOT FOUND                 00817000
       HRC011DK:          LA    R3,DEVTBESZ(R3)  INDEX DEV PARM TBL TO NEXT              00818000
       HRC011DK:          LA    R4,1(R4,R5)    POINT TO NEXT DEVICE NAME                 00819000
       HRC011DK:          CLI   0(R3),DEVTBEND REACHED END OF TABLES?                    00820000
       HRC011DK:          BNE   DEVSRCH        BRANCH IF NO, KEEP LOOKING                00821000
       HRC011DK:          B     DEVTYPE        NO MATCH, ASK USER FOR ANOTHER            00822000
       HRC011DK:          SPACE ,                                                        00823000
       HRC011DK: DEVCHECK CLC   0(0,R4),INDATA                                           00824000
       HRC011DK:          SPACE ,                                                        00825000
       HRC011DK: *---------------------------------------------------------------------- 00826000
       HRC011DK: * MATCHING DEVICE FOUND, SET UP PARAMETERS AND THEN EXIT USING THE      00827000
       HRC011DK: * BRANCH TABLE DEVSFTB.                                                 00828000
       HRC011DK: *---------------------------------------------------------------------- 00829000
       HRC011DK:          SPACE ,                                                        00830000
       HRC011DK: DEVFOUND DS    0H                                                       00831000
       HRC011DK:          MVC   GO,DEVGO(R3)   SET UP TIC                                00832000
       HRC011DK:          MVC   HIVALUE,DEVHIVAL(R3)  SET UP HIGH CYL VAL                00833000
       HRC011DK:          MVC   RECVALUE,DEVRECVL(R3)  SET UP MAX RCD # ON TRK           00834000
       HRC011DK:          MVC   TYPE,DEVICETP(R3)  SET UP DEVICE TYPE                    00835000
       HRC011DK: *        MVC   WVFLAGS,DEVWVDEF(R3) PROMPT FOR WRT VERIFICATION         00836000
       HRC011DK:          XC    WVFLAGS,WVFLAGS    NEVER PROMPT FOR WRT VER
       HRC011DK:          IC    R5,DEVSFIX(R3) LOAD SPECIAL FEATURE INDEX                00837000
       HRC011DK:          B     DEVSFTB(R5)    EXIT ROUTINE                              00838000
       HRC011DK: DEVSFTB  DS    0H             BRANCH TO SPECIAL HANDLING                00839000
       HRC011DK:          B     DISK           NO SPECIAL HANDLING REQUIRED              00840000
       HRC011DK:          B     DVSF3380       3380                                      00841000
       HRC011DK:          B     DVSF3330       3330                                      00842000
       HRC011DK:          B     DVSF3340       3340                                      00843000
       HRC011DK:          SPACE ,                                                        00844000
       HRC011DK: *---------------------------------------------------------------------- 00845000
       HRC011DK: * 3380 SPECIAL HANDLING                                                 00846000
       HRC011DK: *---------------------------------------------------------------------- 00847000
       HRC011DK:          SPACE ,                                                        00848000
       HRC011DK: DVSF3380 DS    0H             SPECIAL HANDLING FOR 3380                 00849000
       HRC011DK:          MVI   HDVALUE+1,MHD3380  HIGHEST HEAD NUMBER FOR 3380          00850000
       HRC011DK:          B     SENSE4         CHECK FOR DEVICE CHARS                    00851000
       HRC011DK:          SPACE ,                                                        00852000
       HRC011DK: *---------------------------------------------------------------------- 00853000
       HRC011DK: * 3330 SPECIAL HANDLING                                                 00854000
       HRC011DK: *---------------------------------------------------------------------- 00855000
       HRC011DK:          SPACE ,                                                        00856000
       HRC011DK: DVSF3330 DS    0H             SPECIAL HANDLING FOR 3330                 00857000
       HRC011DK:          MVC   WR57,OFF57WRT  SET WRITE CCWS TO READ 12 RECS            00858000
       HRC011DK:          MVC   RD57,OFF57RD   SET READ CCWS FOR 12 RECORDS              00859000
       HRC011DK:          OI    BFORWR57+4,CC  RESTORE CMD CHAINING IN CCW               00860000
       HRC011DK: *                             IT MAY HAVE BEEN ALTERED                  00861000
       HRC011DK:          B     DISK           GO AND PROCESS                            00862000
       HRC011DK:          SPACE ,                                                        00863000
       HRC011DK: *---------------------------------------------------------------------- 00864000
       HRC011DK: * 3340 SPECIAL HANDLING -- USER SAYS 70MB PACK, SO NOW SEE IF SENSE     00865000
       HRC011DK: * AGREES.  WE DO NOT WANT TO STUMBLE INTO THE ALTERNATE CYLINDER OF A   00866000
       HRC011DK: * 35MB PACK WHILE THINKING WE ARE ON A 70MB PACK.  WE WOULD ALSO NOT    00867000
       HRC011DK: * WANT TO WRITE A 70MB ALLOCATION RECORD ON A 35MB PACK.                00868000
       HRC011DK: *---------------------------------------------------------------------- 00869000
       HRC011DK:          SPACE ,                                                        00870000
       HRC011DK: DVSF3340 DS    0H             3340 SPECIAL CHECKING                     00871000
       HRC011DK:          TM    SENSE+2,X'01'  IS IT A 35MB?                             00872000
       HRC011DK:          BZ    DISK           NO, SO IT MUST BE 70MB.                   00873000
       HRC011DK:          LA    R4,MSG35MB     SET UP FOR WRONG PACK MESSAGE             00874000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE.                            00875000
       HRC011DK:          B     DVCAGAIN       GO ASK AGAIN FOR UNIT ADDRESS             00876000
       HRC011DK:          SPACE ,                                                        00877000
       HRC011DK: DISK     CLI   FLAG,C'F'      FORMAT FUNCTION?                          00878000
       HRC011DK:          BE    FORMALL        YES, GET STARTING CYLINDER                00879000
       HRC011DK:          B     LAB            NO, START WITH LABEL PROCESSING           00880000
       HRC011DK: *.3******************************************************************** 00881000
       HRC011DK: *                                                                       00882000
       HRC011DK: * OPERATION -                                                           00883000
       HRC011DK: *                                                                       00884000
       HRC011DK: * G.                                                                    00885000
       HRC011DK: *                                                                       00886000
       HRC011DK: *        1. ISSUE THE SENSE ID COMMAND                                  00887000
       HRC011DK: *        2. FOR MISMATCH IN DEVICE TYPES, ISSUE MESSAGE AND ASK AGAIN   00888000
       HRC011DK: *           FOR DEVICE TYPE.                                            00889000
       HRC011DK: *                                                                       00890000
       HRC011DK: * LOCAL REGISTER USAGE -                                                00891000
       HRC011DK: *                                                                       00892000
       HRC011DK: *        R4  - ERROR MESSAGE ADDRESS                                    00893000
       HRC011DK: *        R5  - DEVICE ADDRESS                                           00894000
       HRC011DK: *        R14 - LINKAGE                                                  00895000
       HRC011DK: *                                                                       00896000
       HRC011DK: *.$******************************************************************** 00897000
       HRC011DK:          SPACE ,                                                        00898000
       HRC011DK: *---------------------------------------------------------------------- 00899000
       HRC011DK: *        ISSUE THE SENSE ID COMMAND.  FOR CC3 FROM SENSE, GO ISSUE      00900000
       HRC011DK: *        'DEV XXX NOT OPERATIONAL OR NOT READY' MESSAGE.  ANY           00901000
       HRC011DK: *        FAILING DIRECTOR CONDITION IS ALREADY REPORTED BY THE STRTIO   00902000
       HRC011DK: *        ROUTINE.  CE AND DE WILL COME IN TOGETHER WITH THE SENSE ID.   00903000
       HRC011DK: *        IF NOT OPERATIONAL OR CHANNEL ERRORS, QUIT IMMEDIATELY         00904000
       HRC011DK: *        FOR ANY OTHER I/O ERROR, RETRY THE OPERATION 10 TIMES          00905000
       HRC011DK: *        IF THE ERROR PERSISTS THROUGH 10 RETRIES, ISSUE MSG 744 AND    00906000
       HRC011DK: *        MAKE HIM START OVER, THE CONTROL UNIT IS REALLY SICK AND WE    00907000
       HRC011DK: *        DON'T KNOW FOR SURE WHAT DEVICE TYPE OR HOW BIG IT IS          00908000
       HRC011DK: *---------------------------------------------------------------------- 00909000
       HRC011DK:          SPACE ,                                                        00910000
       HRC011DK: SENSE4   DS    0H                                                       00911000
       HRC011DK:          XC    SENSE,SENSE    CLEAR SENSE AREA                          00912000
       HRC011DK:          LH    R5,DSKADD      GET DEVICE ADDRESS                        00913000
       HRC011DK:          MVC   CAW(L4),=A(CCWSNSE4) SETUP THE CAW                       00914000
       HRC011DK:          LA    R4,E4RTRYCT    LOAD I/O RETRY COUNT                      00915000
       HRC011DK: E4STIO   DS    0H                                                       00916000
       HRC011DK:          BAL   R14,STRTIO     GO ISSUE E4 SENSE                         00917000
       HRC011DK:          BC    NOPER,TIOCC3   NOTREADY ? TELL USER AND RESTART          00918000
       HRC011DK:          TM    CSW+D5,X'FF'   ANY BAD CHANNEL STATUS ?                  00919000
       HRC011DK:          BNZ   FATAL          YES, QUIT IMMEDIATELY                     00920000
       HRC011DK:          TM    CSW+D4,X'FF'-CE-DE  ANYTHING OTHER THAN CE+DE?           00921000
       HRC011DK:          BZ    E4COMPL        BR IF NO                                  00922000
       HRC011DK:          BCT   R4,E4STIO      RETRY IF COUNT NOT EXCEEDED               00923000
       HRC011DK:          B     FMT744         RETRY CNT EXCEEDED, SEND MSG 744          00924000
       HRC011DK:          SPACE ,                                                        00925000
       HRC011DK: E4COMPL  DS    0H                                                       00926000
       HRC011DK:          CLC   SENSEB4(2),=X'3380' IS IT FOR 3380?                      00927000
       HRC011DK:          BNE   E4CONT         NO, CONTINUE                              00928000
       HRC011DK:          TM    SENSEB6,RDEVMD82 IS IT MODEL 2 OR 3?                     00929000
       HRC011DK:          BZ    E4CONT         NO, EVERYTHING IS OK AS IS                00930000
       HRC011DK:          MVC   HIVALUE,MCYL3382 MODEL 2 HAS 1770 CYLINDERS              00931000
       HRC011DK:          MVC   R4DL,=H'2048'  RECORD 4 WILL BE 2K LONG                  00932000
       HRC011DK:          MVC   RF7DL,=H'3072' AND FILLER RECORD 247 IS 3K               00933000
       HRC011DK:          TM    SENSEB6,RDEVMD83  IS IT MODEL 3?                         00934000
       HRC011DK:          BNO   E4CONT         NO, EVERYTHING IS OK AS IS                00935000
       HRC011DK:          MVC   HIVALUE,MCYL3383  MODEL 3 HAS EXP FEATURE                00936000
       HRC011DK:          MVC   R4DL,=H'4096'  RECORD 4 WILL BE 4K LONG                  00937000
       HRC011DK:          MVC   RF7DL,=H'1024' FILLER RECORD 247 IS 1K                   00938000
       HRC011DK:          SPACE ,                                                        00939000
       HRC011DK: *---------------------------------------------------------------------- 00940000
       HRC011DK: *        NOW WE ASSUME THAT THE SENSE DATA IS VALID.  THE UNPACK INST   00941000
       HRC011DK: *        TRANSLATES THE SENSE TO A READABLE DEVICE TYPE, BUT OVERLAYS   00942000
       HRC011DK: *        A BYTE AT THE END OF THIS FIELD.                               00943000
       HRC011DK: *---------------------------------------------------------------------- 00944000
       HRC011DK:          SPACE ,                                                        00945000
       HRC011DK: E4CONT   DS    0H                                                       00946000
       HRC011DK:          UNPK  WRDEV1AC(L5),SENSEB4(L3) TRANSLATE DEV TYPE              00947000
       HRC011DK:          MVI   WRDEV1AC+L'WRDEV1AC,COMMA  RESTORE IT (A COMMA)          00948000
       HRC011DK:          CLC   WRDEV1AC,WRDEV1SP ACTUAL DEV.TYPE EQ SPECIFIED?          00949000
       HRC011DK:          BNE   SENSE4F        NO, NOTIFY USER                           00950000
       HRC011DK:          SPACE ,                                                        00951000
       HRC011DK:          B     DISK           GO SEE IF WE HAVE A FORMAT                00952000
       HRC011DK:          SPACE ,                                                        00953000
       HRC011DK: *---------------------------------------------------------------------- 00954000
       HRC011DK: *        MISMATCH IN DEVICE TYPES.  ISSUE MESSAGE 'DEVICE XXX IS XXXX   00955000
       HRC011DK: *        NOT XXXX-YY AS SPECIFIED.  RESPECIFY OR NOTIFY SYSTEM SUPPORT' 00956000
       HRC011DK: *        AND THEN GO BACK UP AND ASK FOR DEVICE TYPE AGAIN.             00957000
       HRC011DK: *---------------------------------------------------------------------- 00958000
       HRC011DK:          SPACE ,                                                        00959000
       HRC011DK: SENSE4F  EQU   *                                                        00960000
       HRC011DK:          LA    R4,WRDEV1      POINT TO MISMATCH MESSAGE                 00961000
       HRC011DK:          BAL   R14,WMSG       PRINT MISMATCH MESSAGE                    00962000
       HRC011DK:          LA    R4,WRDEV2      POINT TO 2ND PART OF MISMATCH MSG         00963000
       HRC011DK:          BAL   R14,WMSG       PRINT 2ND PART                            00964000
       HRC011DK:          B     DVCAGAIN       GIVE ANOTHER CHANCE, STARTING             00965000
       HRC011DK: *                             WITH DEVICE ADDRESS                       00966000
       HRC011DK:          SPACE ,                                                        00967000
       HRC011DK: *---------------------------------------------------------------------- 00968000
       HRC011DK: *   SENSE ID I/O ERROR RETRY COUNT                                      00969000
       HRC011DK: *---------------------------------------------------------------------- 00970000
       HRC011DK:          SPACE ,                                                        00971000
       HRC011DK: E4RTRYCT EQU   10                                                       00972000
       HRC011DK: *.3******************************************************************** 00973000
       HRC011DK: *                                                                       00974000
       HRC011DK: * OPERATION -                                                           00975000
       HRC011DK: *                                                                       00976000
       HRC011DK: * H. HANDLE PROGRAM CHECK/MACHINE CHECK                                 00977000
       HRC011DK: *                                                                       00978000
       HRC011DK: *        FOR PROGRAM CHECK:                                             00979000
       HRC011DK: *        1. FILL IN THE PROGRAM OLD PSW IN THE MESSAGE.                 00980000
       HRC011DK: *        2. ISSUE PROGRAM CHECK MESSAGE.                                00981000
       HRC011DK: *        3. ENTER WAIT STATE.                                           00982000
       HRC011DK: *                                                                       00983000
       HRC011DK: *        FOR MACHINE CHECK:                                             00984000
       HRC011DK: *        1. ISSUE MACHINE CHECK MESSAGE.                                00985000
       HRC011DK: *        2. ENTER WAIT STATE.                                           00986000
       HRC011DK: *                                                                       00987000
       HRC011DK: * LOCAL REGISTER USAGE -                                                00988000
       HRC011DK: *                                                                       00989000
       HRC011DK: *        R4  - ERROR MESSAGE ADDRESS                                    00990000
       HRC011DK: *        R14 - LINKAGE                                                  00991000
       HRC011DK: *                                                                       00992000
       HRC011DK: *.$******************************************************************** 00993000
       HRC011DK:          SPACE ,                                                        00994000
       HRC011DK: *---------------------------------------------------------------------- 00995000
       HRC011DK: *        THE ADDRESS(PRCHK) IS CONTAINED IN THE PROGRAM NEW PSW AT      00996000
       HRC011DK: *        ADDRESS 104 IN LOW STORAGE.  NOTE THAT DEPRESSING THE REQUEST  00997000
       HRC011DK: *        KEY ON THE CONSOLE WILL CAUSE AN ATTENTION INTERRUPT TO THE    00998000
       HRC011DK: *        PROGRAM AND PROCESSING WILL STOP AND THE PROGRAM WILL RESTART  00999000
       HRC011DK: *        AT THE BEGINNING.  MACHINE CHECKS AND PROGRAM CHECKS WILL      01000000
       HRC011DK: *        PRINT A MESSAGE AND PUT SYSTEM INTO WAIT STATE.                01001000
       HRC011DK: *        FOR PROGRAM CHECK ISSUE 'PROGRAM CHECK. PSW = XXXXXXXXXXXXXXX. 01002000
       HRC011DK: *---------------------------------------------------------------------- 01003000
       HRC011DK:          SPACE ,                                                        01004000
       HRC011DK: PRCHK    STM   R0,R15,PCREGS  SAVE REGISTERS 0 TO 15                    01005000
       HRC011DK:          UNPK  WORK(9),PROPSW(5)     FILL IN THE PROGRAM                01006000
       HRC011DK:          UNPK  WORK+8(9),PROPSW+4(5) OLD PSW.                           01007000
       HRC011DK:          TR    WORK(16),TTAB-240 TRANSLATE TO PRINTABLE CHARS           01008000
       HRC011DK:          MVC   PCMSG+32(16),WORK MOVE PSW INTO MESSAGE                  01009000
       HRC011DK:          LA    R4,PCMSG       SET PROG CK MESSAGE                       01010000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             01011000
       HRC011DK:          LPSW  WTPSW          HARD WAIT                                 01012000
       HRC011DK:          SPACE ,                                                        01013000
       HRC011DK: *---------------------------------------------------------------------- 01014000
       HRC011DK: *        THE ADDRESS(MCRTN) IS CONTAINED IN THE MACHINE CHECK NEW PSW   01015000
       HRC011DK: *        AT ADDRESS 112 IN LOW STORAGE.  ISSUE THE MESSAGE 'MACHINE     01016000
       HRC011DK: *        CHECK' AND LOAD A WAIT STATE.                                  01017000
       HRC011DK: *---------------------------------------------------------------------- 01018000
       HRC011DK:          SPACE ,                                                        01019000
       HRC011DK: MCRTN    LA    R4,MCMSG       SET UP MACH CK MESSAGE                    01020000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             01021000
       HRC011DK:          LPSW  WTPSW          HARD WAIT                                 01022000
       HRC011DK:          LTORG ,                                                        01023000
       HRC011DK: *.3******************************************************************** 01024000
       HRC011DK: *                                                                       01025000
       HRC011DK: * OPERATION -                                                           01026000
       HRC011DK: *                                                                       01027000
       HRC011DK: * I. CARD AND CONSOLE I/O INTERRUPT ROUTINE                             01028000
       HRC011DK: *                                                                       01029000
       HRC011DK: *        1. FOR CONSOLE INTERRUPT, CLEAR PENDING STATUS.  AFTER DEVICE  01030000
       HRC011DK: *           END, CONTINUE WITH NEXT OPERATION.                          01031000
       HRC011DK: *        2. FOR IPL DEVICE INTERRUPT AND AFTER GOOD CE+DE STATUS, GO    01032000
       HRC011DK: *           VALIDATE THE CARD INPUT.                                    01033000
       HRC011DK: *        3. FOR BAD STATUS FROM IPL DEVICE, ISSUE ERROR MESSAGE.        01034000
       HRC011DK: *        4. FOR UNIT EXCEPTION FROM IPL DEVICE, GO BACK TO START.       01035000
       HRC011DK: *                                                                       01036000
       HRC011DK: * LOCAL REGISTER USAGE -                                                01037000
       HRC011DK: *                                                                       01038000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          01039000
       HRC011DK: *        R10 - CONSOLE ADDRESS                                          01040000
       HRC011DK: *        R14 - RETURN ADDRESS                                           01041000
       HRC011DK: *                                                                       01042000
       HRC011DK: *.$******************************************************************** 01043000
       HRC011DK:          SPACE ,                                                        01044000
       HRC011DK: *---------------------------------------------------------------------- 01045000
       HRC011DK: *        IF THE INTERRUPT CAME FROM THE CONSOLE, THEN CLEAR ANY PENDING 01046000
       HRC011DK: *        STATUS.  FOR GOOD STATUS (NOT AN ATTENTION), WAIT FOR DEVICE   01047000
       HRC011DK: *        END.  IF WE GET CONTROL UNIT END, GO RESTART OPERATION.  ELSE, 01048000
       HRC011DK: *        GO BACK AND CONTINUE WITH NEXT OPERATION.                      01049000
       HRC011DK: *---------------------------------------------------------------------- 01050000
       HRC011DK:          SPACE ,                                                        01051000
       HRC011DK: CONSINT  CLC   CONSOL(2),58   WAS THIS A CONSOLE DEVICE?                01052000
       HRC011DK:          BNE   SELREAD        IF NOT CONSOLE BRANCH                     01053000
       HRC011DK:          MVC   STAT(2),CSW+4  SAVE STATUS                               01054000
       HRC011DK:          TIO   0(R10)         CLEAR PENDING STATUS                      01055000
       HRC011DK:          BC    2,*-4          LOOP IF BUSY                              01056000
       HRC011DK:          OC    STAT(2),CSW+4  SAVE ANY STATUS                           01057000
       HRC011DK:          TM    STAT,ATTN      IS THIS AN ATTENTION INTERRUPT ?          01058000
       HRC011DK:          BNO   CONUNITE       NO, GO CHECK FOR UNIT EXCEPTION           01059000
       HRC011DK:          TM    PARM,PARMGRP   IS THE GRAPHIC SUPPORT ACTIVE ?           01060000
       HRC011DK:          BZ    STMSG          NO, GO CLEAR CARD FLAG                    01061000
       HRC011DK:          TM    PARM,PARMATT   IS THIS A ATTENTION REQUEST ?             01062000
       HRC011DK:          BCR   1,R14          YES, GO CHECK FOR ATTENTION               01063000
       HRC011DK: *                             INTERRUPT                                 01064000
       HRC011DK: CONUNITE EQU   *                                                        01065000
       HRC011DK:          TM    STAT,UC        WAS THERE A UNIT CHECK                    01066000
       HRC011DK:          BNO   GOODSTA        NO,BRANCH REG 14                          01067000
       HRC011DK:          OI    STAT,UE        OR IN UNIT EXCEPTION TOO                  01068000
       HRC011DK: GOODSTA  TIO   0(R10)         WAIT FOR DEVICE END                       01069000
       HRC011DK:          BC    7,*-4          LOOP UNTIL CLEAR                          01070000
       HRC011DK:          OC    CSW+4(2),STAT  PUT BACK ALL THE STATUS                   01071000
       HRC011DK:          TM    CSW+4,CUE      IS THIS CONTROL UNIT END                  01072000
       HRC011DK:          BO    STARTIO1       GO RESTART I/O OPERATION                  01073000
       HRC011DK:          BR    R14            BRANCH BACK                               01074000
       HRC011DK:          SPACE ,                                                        01075000
       HRC011DK: *---------------------------------------------------------------------- 01076000
       HRC011DK: *        THE INTERRUPT WAS FROM THE IPL DEVICE (IF IT WAS NOT, JUST     01077000
       HRC011DK: *        LOAD A WAIT STATE).  FOR GOOD STATUS (CE+DE), GO VALIDATE THE  01078000
       HRC011DK: *        CARD.                                                          01079000
       HRC011DK: *---------------------------------------------------------------------- 01080000
       HRC011DK:          SPACE ,                                                        01081000
       HRC011DK: SELREAD  CLC   IPLDEV(2),58   IS IT IPL DEV                             01082000
       HRC011DK:          BNE   XWAIT          NO,WAIT                                   01083000
       HRC011DK:          TM    CSW+5,X'BF'    CHANNEL ERROR?                            01084000
       HRC011DK:          BNZ   ERRORMSG       PRINT ERROR MSG                           01085000
       HRC011DK:          TM    CSW+4,UC       IS IT UNIT CHECK?                         01086000
       HRC011DK:          BO    DETEST         GO CHECK FOR CHAN END                     01087000
       HRC011DK:          TM    CSW+4,UE       UNIT EXCEPTION?                           01088000
       HRC011DK:          BO    TESTDEV        YES,BRANCH                                01089000
       HRC011DK:          CLI   CSW+4,CE+DE    CH END DEV END?                           01090000
       HRC011DK:          BE    VALIDATE       YES VALIDATE CARD                         01091000
       HRC011DK:          TM    CSW+4,CE       IS IT CHANNEL END ONLY?                   01092000
       HRC011DK:          BO    DRAINDE        GO DRAIN DEV END                          01093000
       HRC011DK:          TM    CSW+4,DE       DEVICE END ONLY?                          01094000
       HRC011DK:          BO    GETCARD        YES MUST BE DEV MADE READY                01095000
       HRC011DK:          B     ERRORMSG       PRINT ERROR MESSAGE                       01096000
       HRC011DK: DETEST   TM    CSW+4,CE       IS IT CHAN END                            01097000
       HRC011DK:          BO    DRAINDE        DRAIN DEVICE END                          01098000
       HRC011DK:          B     ERRORMSG       PRINT ERROR MESSAGE                       01099000
       HRC011DK: DRAINDE  TIO   0(R10)         CLEAR DEVICE END                          01100000
       HRC011DK:          BC    7,*-4          LOOP UNTIL CLEAR                          01101000
       HRC011DK:          SPACE ,                                                        01102000
       HRC011DK: *---------------------------------------------------------------------- 01103000
       HRC011DK: *        HANDLE A CARD ERROR IF BAD STATUS RETURNED FROM IPL DEVICE.    01104000
       HRC011DK: *        ISSUE THE MESSAGE 'DEV XXX INTERVENTION REQUIRED'.  THEN LOAD  01105000
       HRC011DK: *        A WAIT STATE.                                                  01106000
       HRC011DK: *---------------------------------------------------------------------- 01107000
       HRC011DK:          SPACE ,                                                        01108000
       HRC011DK: ERRORMSG XC    ALLOSW,ALLOSW  CLEAR ALLOCATE SWITCH                     01109000
       HRC011DK:          XC    CDSW(2),CDSW   "   CARD       "                          01110000
       HRC011DK:          XC    ALLOERR,ALLOERR CLEAR ALLOCATE ERROR SWITCH              01111000
       HRC011DK:          LA    R4,IPLERROR    IPL ERROR MESSAGE                         01112000
       HRC011DK:          BAL   R14,WMSG       PRINT MESSAGE                             01113000
       HRC011DK:          B     XWAIT          WAIT FOR CARD DEVICE INTERRUPT            01114000
       HRC011DK:          SPACE ,                                                        01115000
       HRC011DK: *---------------------------------------------------------------------- 01116000
       HRC011DK: *        HERE FOR UNIT EXCEPTION FROM IPL DEVICE.  IF CARD SWITCH NOT   01117000
       HRC011DK: *        ON, THEN ISSUE BEGINNING MESSAGE TO CONSOLE.  ELSE, CLEAR ALL  01118000
       HRC011DK: *        CARD SWITCHES BEFORE GOING TO SELECT.                          01119000
       HRC011DK: *---------------------------------------------------------------------- 01120000
       HRC011DK:          SPACE ,                                                        01121000
       HRC011DK: TESTDEV  CLI   CDSW2,X'FF'    IS SW ON?                                 01122000
       HRC011DK:          BNE   SELECT         NO,USE CONSOLE                            01123000
       HRC011DK:          XC    CDSW(2),CDSW   TURN OFF 2 SWITCHES                       01124000
       HRC011DK:          B     NOCARD         BRANCH                                    01125000
       HRC011DK: *.3******************************************************************** 01126000
       HRC011DK: *                                                                       01127000
       HRC011DK: * OPERATION -                                                           01128000
       HRC011DK: *                                                                       01129000
       HRC011DK: * J. VALIDATE CARD INPUT FROM IPL DEVICE                                01130000
       HRC011DK: *                                                                       01131000
       HRC011DK: *         1. SCAN THE CARD FOR THE PROPER FORMAT.  IF INVALID, AN ERROR 01132000
       HRC011DK: *            MESSAGE WILL BE ISSUED AND THE ERRONEOUS CARD DISPLAYED.   01133000
       HRC011DK: *            IF THE ERROR EXISTS ON THE FIRST FORMAT OR ALLOCATE CARD,  01134000
       HRC011DK: *            AN ERROR MESSAGE WILL BE ISSUED, THE ERRONEOUS CARD        01135000
       HRC011DK: *            DISPLAYED, AND USER WILL BE PROMPTED VIA THE CONSOLE FOR   01136000
       HRC011DK: *            THE FUNCTION TO BE PERFORMED.  FOR ERRORS FOLLOWING THE    01137000
       HRC011DK: *            FIRST FORMAT OR ALLOCATE CARD, AN INVALID MESSAGE WILL     01138000
       HRC011DK: *            ISSUED AND FLUSH TO NEXT FORMAT OR ALLOCATE CARD.          01139000
       HRC011DK: *         2. AFTER SCAN IS COMPLETE, COMPARE INPUT TO SEE WHAT WAS      01140000
       HRC011DK: *            ENTERED.  FOR LABEL, FORMAT, OR ALLOCATE GO TO SELECT      01141000
       HRC011DK: *            (OP C) TO BEGIN THE OPERATION.                             01142000
       HRC011DK: *         3. FOR INVALID CARD INPUT, ISSUE ERROR MESSAGE.               01143000
       HRC011DK: *                                                                       01144000
       HRC011DK: *         VALID CARD FORMATS:                                           01145000
       HRC011DK: *                                                                       01146000
       HRC011DK: *            FORMAT EXAMPLES -                                          01147000
       HRC011DK: *                                                                       01148000
       HRC011DK: *            FORMAT,ADDRESS,TYPE,VOLUME LABEL,START CYL,END CYL         01149000
       HRC011DK: *                                                                       01150000
       HRC011DK: *            FORMAT,232,3330,MYDISK,000,006, (LAST COMMA MAY BE         01151000
       HRC011DK: *                       OR                    DROPPED)                  01152000
       HRC011DK: *            FORMAT,232,3330,MYDISK,000,006                             01153000
       HRC011DK: *                                                                       01154000
       HRC011DK: *            F,232,3330,MYDISK,,,            (DEFAULTS START AND END)   01155000
       HRC011DK: *            F,232,3330,MYDISK,,007          (DEFAULTS START CYL)       01156000
       HRC011DK: *            F,232,3330,MYDISK,001,,         (DEFAULTS END CYL)         01157000
       HRC011DK: *            F,232,3380,MYDISK,001,,YES      (PERFORM WRT VERIFICATION) 01158000
       HRC011DK: *                                                                       01159000
       HRC011DK: *          ALLOCATE EXAMPLES:                                           01160000
       HRC011DK: *                                                                       01161000
       HRC011DK: *            ALLOCATE,232,3330,MYDISK                                   01162000
       HRC011DK: *            TEMP,000,050                    (ALLOCATE CYLINDERS 0 TO   01163000
       HRC011DK: *            PERM,055,060                     50 AS TEMP SPACE)         01164000
       HRC011DK: *            TDSK,100,108                                               01165000
       HRC011DK: *            DRCT,110,120                                               01166000
       HRC011DK: *            END                                                        01167000
       HRC011DK: *                                                                       01168000
       HRC011DK: *            A,232,3330,MYDISK                                          01169000
       HRC011DK: *            ALLO,232,3330,MYDISK            (ABBREVIATE ALLOCATE)      01170000
       HRC011DK: *                                                                       01171000
       HRC011DK: *         LABEL ONLY EXAMPLES:                                          01172000
       HRC011DK: *                                                                       01173000
       HRC011DK: *           FO,232,3330,MYDISK,LABEL         (WORD 'LABEL' IN PLACE OF  01174000
       HRC011DK: *                                             CYLINDER)                 01175000
       HRC011DK: *           F,232,3330,MYDISK,LA             (WORD LABEL ABBREVIATED)   01176000
       HRC011DK: *                                                                       01177000
       HRC011DK: * LOCAL REGISTER USAGE -                                                01178000
       HRC011DK: *                                                                       01179000
       HRC011DK: *        R1  - OUTPUT AREA ADDRESS                                      01180000
       HRC011DK: *        R2  - WORK                                                     01181000
       HRC011DK: *        R3  - CARD INPUT                                               01182000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          01183000
       HRC011DK: *        R14 - LINKAGE                                                  01184000
       HRC011DK: *                                                                       01185000
       HRC011DK: *.$******************************************************************** 01186000
       HRC011DK:          SPACE ,                                                        01187000
       HRC011DK: *---------------------------------------------------------------------- 01188000
       HRC011DK: *        VALIDATE CARD INPUT.  ALLOERR IS TURNED ON IF THE TYPE OR CYL  01189000
       HRC011DK: *        WAS FOUND TO BE INVALID, OR IF THERE WAS A UNIT CHECK WHILE    01190000
       HRC011DK: *        READIN THE LABEL.  ALLOSW IS ON ALL THROUGH ALLOCATION         01191000
       HRC011DK: *        UNTIL AN 'END' CARD IS FOUND.                                  01192000
       HRC011DK: *---------------------------------------------------------------------- 01193000
       HRC011DK:          SPACE ,                                                        01194000
       HRC011DK: VALIDATE MVI   CDSW2,X'FF'    TURN ON CARD SW                           01195000
       HRC011DK:          CLI   CDINPUT,C'F'   FORMAT?                                   01196000
       HRC011DK:          BE    ALLSCAN        YES BRANCH                                01197000
       HRC011DK:          CLI   CDINPUT,C'A'   ALLOCATE?                                 01198000
       HRC011DK:          BE    ALLSCAN        YES,BRANCH                                01199000
       HRC011DK:          CLI   ALLOERR,X'FF'  ALLOCATE ERROR?                           01200000
       HRC011DK:          BE    GETCARD        YES,GET NEXT CARD                         01201000
       HRC011DK:          CLI   ALLOSW,X'FF'   IS ALLOCATE SW ON?                        01202000
       HRC011DK:          BE    ALLSCAN1       YES,BRANCH                                01203000
       HRC011DK:          B     BADINPUT       BAD INPUT                                 01204000
       HRC011DK: ALLSCAN  DS    0H                                                       01205000
       HRC011DK:          CLI   LABIOERR,X'FF' I/O ERROR READING LABEL?                  01206000
       HRC011DK:          BE    NOPRINT        YES, NO PRINT                             01207000
       HRC011DK:          CLI   ALLOSW,X'FF'   ALLOCATE OPERATION                        01208000
       HRC011DK:          BNE   NOPRINT        NO,NO PRINT                               01209000
       HRC011DK:          LA    R4,TYPERR      PRINT NO END CARD                         01210000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             01211000
       HRC011DK: NOPRINT  MVI   ALLOSW,X'00'   TURN ALLOCATE SW OFF                      01212000
       HRC011DK:          MVI   LABIOERR,X'00' TURN OFF LABEL I/O ERROR SW               01213000
       HRC011DK: ALLSCAN1 MVI   ALLOERR,X'00'  TURN OFF ALLOCATE ERROR SW                01214000
       HRC011DK:          SPACE ,                                                        01215000
       HRC011DK: *---------------------------------------------------------------------- 01216000
       HRC011DK: *        SCAN FOR NEXT FIELDS ON THE CARD.  SAVE THE CARD FIELDS IN     01217000
       HRC011DK: *        THE OUTPUT AREA STARTING AT CDFORA UNTIL THERE IS NO MORE      01218000
       HRC011DK: *        DATA ON THE CARD TO SAVE.                                      01219000
       HRC011DK: *---------------------------------------------------------------------- 01220000
       HRC011DK:          SPACE ,                                                        01221000
       HRC011DK:          LA    R1,CDFORA-8    R1 ADDRESS OF OUTPUT AREA-8               01222000
       HRC011DK:          LA    R3,CDINPUT     R3 POINTS TO CARD INPUT                   01223000
       HRC011DK:          XC    CDFORA(56),CDFORA CLEAR OUTPUT AREA                      01224000
       HRC011DK: NEWFIELD XR    R2,R2          R2 TO ZERO                                01225000
       HRC011DK:          MVC   DATA,0(R3)     SAVE FIRST FIELD                          01226000
       HRC011DK:          CL    R1,=A(CDLAST)  IS R1 AT LAST FIELD?                      01227000
       HRC011DK:          BE    ENDUP          YES,BRANCH                                01228000
       HRC011DK: SCAN     CLI   0(R3),C' '     IS IT BLANK?                              01229000
       HRC011DK:          BE    FIELD          YES,BRANCH                                01230000
       HRC011DK:          CLI   0(R3),C','     IS IT A COMMA?                            01231000
       HRC011DK:          BE    FIELD          YES,BRANCH                                01232000
       HRC011DK:          LA    R2,1(R2)       ADD 1                                     01233000
       HRC011DK:          LA    R3,1(R3)       ADD 1                                     01234000
       HRC011DK:          B     SCAN           BRANCH                                    01235000
       HRC011DK: FIELD    LA    R1,8(R1)       POINT TO NEXT FIELD                       01236000
       HRC011DK:          NR    R2,R2          IS R2 ZERO?                               01237000
       HRC011DK:          BM    NODEFALT       BRANCH IF NOT DEFAULT                     01238000
       HRC011DK:          XC    DATA,DATA      CLEAR DATA                                01239000
       HRC011DK:          LA    R2,8(R2)       UP LENGTH TO 8                            01240000
       HRC011DK: NODEFALT BCTR  R2,0           SUBTRACT 1 R2                             01241000
       HRC011DK:          EX    R2,MOVE        PUT DATA IN OUTPUT FIELD                  01242000
       HRC011DK:          CLI   0(R3),C' '     BLANK MEANS END OF INPUT                  01243000
       HRC011DK:          BE    ENDUP          YES,GO END                                01244000
       HRC011DK:          LA    R3,1(R3)       ADD 1 TO R3                               01245000
       HRC011DK:          CLI   0(R3),C' '     NEXT POSITION BLANK?                      01246000
       HRC011DK:          BE    ENDUP          YES,NO MORE DATA                          01247000
       HRC011DK:          B     NEWFIELD       BRANCH                                    01248000
       HRC011DK: MOVE     MVC   0(1,R1),DATA   PUT DATA IN OUTPUT                        01249000
       HRC011DK:          SPACE ,                                                        01250000
       HRC011DK: *---------------------------------------------------------------------- 01251000
       HRC011DK: *        COMPARE THE DATA TO SEE WHAT WAS ENTERED.  FOR VALID LABEL,    01252000
       HRC011DK: *        FORMAT, OR ALLOCATE FUNCTION, GO TO SELECT TO BEGIN THE        01253000
       HRC011DK: *        OPERATION.                                                     01254000
       HRC011DK: *---------------------------------------------------------------------- 01255000
       HRC011DK:          SPACE ,                                                        01256000
       HRC011DK: ENDUP    EQU   *                                                        01257000
       HRC011DK:          CLC   0(3,R3),BLANKS8 NEXT 3 POSITION BLANKS ?                 01258000
       HRC011DK:          BNE   BADINPUT       NO,THAT'S BAD INPUT                       01259000
       HRC011DK:          CL    R1,=A(CDSTART) IS LABEL ONLY OPERATION?                  01260000
       HRC011DK:          BE    LCHECK         GO CHECK INPUT                            01261000
       HRC011DK:          CL    R1,=A(CDLAST)  DID WE FILL LAST FIELD?                   01262000
       HRC011DK:          BE    FCHECK         YES,CHECK FOR FORMAT                      01263000
       HRC011DK:          SPACE ,                                                        01264000
       HRC011DK: *---------------------------------------------------------------------- 01265000
       HRC011DK: *        USER MAY NOT HAVE CHOSEN WRITE VERIFICATION.  IN THIS CASE     01266000
       HRC011DK: *        THE LAST FIELD WOULD BE END CYLINDER, THEREFORE CHECK.         01267000
       HRC011DK: *---------------------------------------------------------------------- 01268000
       HRC011DK:          SPACE ,                                                        01269000
       HRC011DK:          CL    R1,=A(CDENDCYL) END CYLINDER LAST FIELD?                 01270000
       HRC011DK:          BE    FCHECK         YES, CHECK FOR FORMAT                     01271000
       HRC011DK:          CL    R1,=A(CDLABEL) IS IT ALLOCATE OPERATOR                   01272000
       HRC011DK:          BE    ACHECK         CHECK FOR ALLOCATE                        01273000
       HRC011DK:          CLI   ALLOSW,X'FF'   IS SWITCH ON?                             01274000
       HRC011DK:          BNE   BADINPUT       NO,BAD                                    01275000
       HRC011DK:          CL    R1,=A(CDTYPE)  LAST FIELD ALLOCATE END                   01276000
       HRC011DK:          BE    REREAD         YES,ALLOCATE                              01277000
       HRC011DK:          CL    R1,=A(CDFORA)  IS IT END CARD?                           01278000
       HRC011DK:          BE    REREAD         YES,BRANCH                                01279000
       HRC011DK:          B     BADINPUT       NONE OF ABOVE BADINPUT                    01280000
       HRC011DK: LCHECK   CLI   CDSTART,C'L'   IS LABEL ONLY?                            01281000
       HRC011DK:          BNE   BADINPUT       NO,BAD INPUT                              01282000
       HRC011DK: FCHECK   CLI   CDFORA,C'F'    IS IT FORMAT?                             01283000
       HRC011DK:          BE    SELECT         YES, DO THE TASK                          01284000
       HRC011DK:          B     BADINPUT       NO,BAD                                    01285000
       HRC011DK: ACHECK   CLI   CDFORA,C'A'    IS IT ALLOCATE?                           01286000
       HRC011DK:          BNE   BADINPUT       NO,BAD                                    01287000
       HRC011DK:          MVI   ALLOSW,X'FF'   TURN ON ALLOCATE SWITCH                   01288000
       HRC011DK:          B     SELECT         DO ALLOCATE                               01289000
       HRC011DK:          SPACE ,                                                        01290000
       HRC011DK: *---------------------------------------------------------------------- 01291000
       HRC011DK: *        INVALID CARD INPUT.  ISSUE MESSAGE 'INVALID OPERAND' AND THEN  01292000
       HRC011DK: *        GO BACK TO START.                                              01293000
       HRC011DK: *---------------------------------------------------------------------- 01294000
       HRC011DK:          SPACE ,                                                        01295000
       HRC011DK: BADINPUT MVC   CDSW(2),=X'0000' TURN OFF 2 SWITCHES                     01296000
       HRC011DK:          MVI   ALLOERR,X'FF'  TURN ON TO FLUSH NEXT GOOD CARD           01297000
       HRC011DK:          XC    ALLOSW,ALLOSW  CLEAR ALLOCATE SWITCH                     01298000
       HRC011DK:          LA    R4,BAD         MSG ADDRESS IN R4                         01299000
       HRC011DK:          BAL   R14,WMSG       PRINT MSG                                 01300000
       HRC011DK:          LA    R4,CARDMESS    PRINT BAD CARD                            01301000
       HRC011DK:          BAL   R14,WMSG       PRINT MSG                                 01302000
       HRC011DK:          B     STMSG          BRANCH                                    01303000
       HRC011DK: *.3******************************************************************** 01304000
       HRC011DK: *                                                                       01305000
       HRC011DK: * OPERATION -                                                           01306000
       HRC011DK: *                                                                       01307000
       HRC011DK: * K. OBTAIN STARTING AND ENDING CYLINDER NUMBERS FOR CKD FORMAT         01308000
       HRC011DK: *                                                                       01309000
       HRC011DK: *        THIS ROUTINE ALLOWS DEFAULTS FOR STARTING AND ENDING DASD      01310000
       HRC011DK: *        LOCATIONS FOR FORMAT FROM CONSOLE OR IPL DEVICE INPUT.         01311000
       HRC011DK: *                                                                       01312000
       HRC011DK: *        1. ISSUE 'ENTER START CYLINDER' MESSAGE AND GET RESPONSE.      01313000
       HRC011DK: *        2. SAVE START CYLINDER.                                        01314000
       HRC011DK: *        3. ISSUE 'ENTER END CYLINDER' MESSAGE AND GET RESPONSE.        01315000
       HRC011DK: *        4. SAVE ENDING CYLINDER.                                       01316000
       HRC011DK: *        5. CONTINUE AT OP M.                                           01317000
       HRC011DK: *                                                                       01318000
       HRC011DK: * LOCAL REGISTER USAGE -                                                01319000
       HRC011DK: *                                                                       01320000
       HRC011DK: *        R3  - CHKDIGIT LINKAGE                                         01321000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          01322000
       HRC011DK: *        R7  - WORK                                                     01323000
       HRC011DK: *        R14 - LINKAGE                                                  01324000
       HRC011DK: *                                                                       01325000
       HRC011DK: *.$******************************************************************** 01326000
       HRC011DK:          SPACE ,                                                        01327000
       HRC011DK: *---------------------------------------------------------------------- 01328000
       HRC011DK: *        ISSUE 'ENTER START CYLINDER (XXX OR XXXX) OR "LABEL":'.  IF    01329000
       HRC011DK: *        NULL RESPONSE THEN DEFAULT TO CYLINDER 0.                      01330000
       HRC011DK: *---------------------------------------------------------------------- 01331000
       HRC011DK:          SPACE ,                                                        01332000
       HRC011DK: FORMALL  MVI   LOSW,X'00'              INITIAL LABEL ONLY FLAG          01333000
       HRC011DK:          LA    R4,STCYL                PUT CYLINDER IN MESSAGE          01334000
       HRC011DK:          BAL   R14,WMSG                WRITE MESSAGE                    01335000
       HRC011DK:          BAL   R14,RMSG                READ RESPONSE                    01336000
       HRC011DK:          TM    CSW+4,UE                CANCEL OR UNIT CHECK             01337000
       HRC011DK:          BO    FORMALL                 YES,TRY AGAIN                    01338000
       HRC011DK:          CLI   INDATA,X'00'            WAS IT EOB                       01339000
       HRC011DK:          MVC   BEGIN,=X'0000'          SET UP DEFAULT                   01340000
       HRC011DK:          BE    NEXT                    IF DEFAULT GO ON                 01341000
       HRC011DK:          SPACE ,                                                        01342000
       HRC011DK: *---------------------------------------------------------------------- 01343000
       HRC011DK: *        EVALUATE THE RESPONSE.  IF "LABEL", THEN GO HANDLE LABEL ONLY  01344000
       HRC011DK: *        FUNCTION.  ELSE, VERIFY THAT THE CYLINDER NUMBER IS VALID BY   01345000
       HRC011DK: *        CALLING CHKDIGIT.                                              01346000
       HRC011DK: *---------------------------------------------------------------------- 01347000
       HRC011DK:          SPACE ,                                                        01348000
       HRC011DK:          BAL   R14,LNGCALC             GET WORD LENGTH                  01349000
       HRC011DK:          BNZ   FORMALL                 IF LEN=0, GT 8 TRY AGAIN         01350000
       HRC011DK:          EX    R4,TSTLABL              IS IT LABEL?                     01351000
       HRC011DK:          BE    LAB                     YES,GO TO LABEL                  01352000
       HRC011DK:          BAL   R3,CHKDIGIT             CHECK INPUT CYL DIGIT            01353000
       HRC011DK:          BNZ   FORMALL                 TRY AGAIN IF CC ¬= 0             01354000
       HRC011DK:          OC    INDATA(CYLNUM+BLANK),BLANKS8                             01355000
       HRC011DK: *                                      CONVERT X'00' TO BLANK           01356000
       HRC011DK:          CLI   INDATA+CYLNUM,X'40'     YES, ANYTHING EXTRA?             01357000
       HRC011DK:          BNE   FORMALL                 YES - DO IT OVER AGAIN           01358000
       HRC011DK:          PACK  FIELDA+5(3),INDATA(CYLNUM)      ALL NUMERIC,             01359000
       HRC011DK: *                                      PACK THE INPUT DATA              01360000
       HRC011DK:          CVB   R7,FIELDA               CONVERT TO BINARY                01361000
       HRC011DK:          SPACE ,                                                        01362000
       HRC011DK: *---------------------------------------------------------------------- 01363000
       HRC011DK: *        IF THE STARTING CYLINDER IS HIGHER THAN THE HIGHEST CYLINDER,  01364000
       HRC011DK: *        THEN RE-ISSUE MESSAGE.  ELSE SAVE THE STARTING CYLINDER.       01365000
       HRC011DK: *---------------------------------------------------------------------- 01366000
       HRC011DK:          SPACE ,                                                        01367000
       HRC011DK:          CH    R7,HIVALUE              IS START CYL HIGHER THAN LAST    01368000
       HRC011DK:          BH    FORMALL                 YES,ERROR                        01369000
       HRC011DK:          STH   R7,BEGIN                BEGIN=CYL START ADDRESS          01370000
       HRC011DK:          SPACE ,                                                        01371000
       HRC011DK: *---------------------------------------------------------------------- 01372000
       HRC011DK: *        NOW ISSUE 'ENTER END CYLINDER (XXX OR XXXX):' AND READ THE     01373000
       HRC011DK: *        RESPONSE.  FOR NULL RESPONSE DEFAULT TO HIGHEST CYLINDER ON    01374000
       HRC011DK: *        PACK.  ELSE, VERIFY THAT THE CYLINDER NUMBER IS VALID BY       01375000
       HRC011DK: *        CALLING CHKDIGIT.                                              01376000
       HRC011DK: *---------------------------------------------------------------------- 01377000
       HRC011DK:          SPACE ,                                                        01378000
       HRC011DK: NEXT     LA    R4,ENDCYL               USE END CYL MESSAGE              01379000
       HRC011DK:          BAL   R14,WMSG                PRINT MESSAGE                    01380000
       HRC011DK:          BAL   R14,RMSG                READ RESPONSE                    01381000
       HRC011DK:          TM    CSW+4,UE                CANCEL KEY OR UNIT CHECK         01382000
       HRC011DK:          BO    NEXT                    YES, TRY AGAIN                   01383000
       HRC011DK:          CLI   INDATA,X'00'            WAS DEFAULT SET                  01384000
       HRC011DK:          MVC   ENDING,HIVALUE          SAVE HIGHEST DEFAULT VALUE       01385000
       HRC011DK:          BE    LIMITS                  BRANCH IF DEFAULT                01386000
       HRC011DK:          BAL   R3,CHKDIGIT             CHECK INPUT CYL DIGIT            01387000
       HRC011DK:          BNZ   NEXT                    TRY AGAIN IF CC ¬= 0             01388000
       HRC011DK:          OC    INDATA(CYLNUM+BLANK),BLANKS8                             01389000
       HRC011DK: *                                      CONVERT X'00' TO BLANK           01390000
       HRC011DK:          CLI   INDATA+CYLNUM,X'40'     ANYTHING EXTRA?                  01391000
       HRC011DK:          BNE   NEXT                    YES - WE DON'T WANT IT           01392000
       HRC011DK:          PACK  FIELDA+5(3),INDATA(CYLNUM)    PACK INPUT CYL #           01393000
       HRC011DK:          CVB   R7,FIELDA               CONVERT INDATA INTO BINARY       01394000
       HRC011DK:          SPACE ,                                                        01395000
       HRC011DK: *---------------------------------------------------------------------- 01396000
       HRC011DK: *        IF HIGHER THAN HIGHEST CYLINDER, THEN RE-ISSUE MESSAGE.  ELSE  01397000
       HRC011DK: *        SAVE THE ENDING CYLINDER.                                      01398000
       HRC011DK: *---------------------------------------------------------------------- 01399000
       HRC011DK:          SPACE ,                                                        01400000
       HRC011DK:          CH    R7,HIVALUE              END BEYOND LAST CYL?             01401000
       HRC011DK:          BH    NEXT                    YES, TRY AGAIN                   01402000
       HRC011DK:          STH   R7,ENDING               SAVE ENDING ADRESS               01403000
       HRC011DK: LIMITS   CLC   BEGIN,ENDING            IS BEGINING HIGHER THAN END      01404000
       HRC011DK:          BH    NEXT                    YES, ERROR, TRY AGAIN            01405000
       HRC011DK:          B     LAB                                                      01406000
       HRC011DK:          SPACE ,                                                        01407000
       HRC011DK:          SPACE ,                                                        01408000
       HRC011DK: *---------------------------------------------------------------------- 01409000
       HRC011DK: *        CHECK THE DIGIT FOR THE INPUT FORMAT CYLINDER NUMBER.          01410000
       HRC011DK: *---------------------------------------------------------------------- 01411000
       HRC011DK:          SPACE ,                                                        01412000
       HRC011DK: CHKDIGIT DS    0H                    CHK INPUT CYL # FOR FORMAT         01413000
       HRC011DK:          CLI   INDATA+3,C'0'         4TH DIGIT A NUMERIC?               01414000
       HRC011DK:          BNL   NUMCHKF               POSSIBLE, CHECK IT FURTHER         01415000
       HRC011DK:          CLI   INDATA+3,C' '         IF NOT, IS IT A BLANK?             01416000
       HRC011DK:          BE    INSERTF               YES, INSERT A LEADING 0            01417000
       HRC011DK:          CLI   INDATA+3,X'00'        OR COULD IT BE A X'00'?            01418000
       HRC011DK:          BE    INSERTF               YES, INSERT A LEADING 0            01419000
       HRC011DK:          LA    R4,TYPERR             NO, INPUT ERROR                    01420000
       HRC011DK:          BAL   R14,WMSG              TELL THE OPERATOR                  01421000
       HRC011DK:          CLI   F0,X'FF'              SET CONDITION CODE 1               01422000
       HRC011DK:          BR    R3                    AND TRY AGAIN                      01423000
       HRC011DK:          SPACE ,                                                        01424000
       HRC011DK: INSERTF  DS    0H                    INSERT A LEADING 0                 01425000
       HRC011DK:          MVC   CHARSAVE,CHARMASK     MOVE IN MASK CHARACTERS            01426000
       HRC011DK:          MVC   CHARSAVE+1(3),INDATA  STORE CYL # TEMPORARILY            01427000
       HRC011DK:          MVC   INDATA(4),CHARSAVE    SHIFT 1 BYTE TO THE RIGHT          01428000
       HRC011DK: NUMCHKF  DS    0H                    NUMERIC CHECK FOR FORMAT           01429000
       HRC011DK:          MVC   MASKB(CYLNUM),MASKA   REINITIALIZE MASKB                 01430000
       HRC011DK:          NC    MASKB(CYLNUM),INDATA  AND COMPARE WITH INPUT             01431000
       HRC011DK:          CLC   MASKB(CYLNUM),MASKA   IS INPUT CYL. NUMERIC?             01432000
       HRC011DK:          BR    R3                                                       01433000
       HRC011DK: *.3******************************************************************** 01434000
       HRC011DK: *                                                                       01435000
       HRC011DK: * OPERATION -                                                           01436000
       HRC011DK: *                                                                       01437000
       HRC011DK: * M. ASK FOR LABEL AND VERIFY                                           01438000
       HRC011DK: *                                                                       01439000
       HRC011DK: *        HERE FOR ALL OPERATIONS TO REQUEST A VOLUME LABEL.             01440000
       HRC011DK: *                                                                       01441000
       HRC011DK: *        1. REQUEST VOLUME LABEL AND READ THE RESPONSE.                 01442000
       HRC011DK: *        2. READ THE CURRENT LABEL FROM THE REAL PACK.  THIS IS READ    01443000
       HRC011DK: *           INTO 'CPLABEL'.                                             01444000
       HRC011DK: *        3. IF "LABEL" FUNCTION, GO TO OP N.                            01445000
       HRC011DK: *        4. IF "ALLOCATE", THEN VERIFY THAT THE LABELS MATCH AND GO     01446000
       HRC011DK: *           TO OP X.                                                    01447000
       HRC011DK: *        5. IF "FORMAT", VERIFY THAT THE LABELS MATCH IF WE ARE NOT     01448000
       HRC011DK: *           FORMATTING CYLINDER/PAGE 0 - THEN GO TO OP P.               01449000
       HRC011DK: *        6. IF "FORMAT" AND WE ARE FORMATTING CYLINDER 0 THEN           01450000
       HRC011DK: *           GO TO OP O.                                                 01451000
       HRC011DK: *        7. IF LABELS DO NOT MATCH, THEN ISSUE ERROR MESSAGE.           01452000
       HRC011DK: *                                                                       01453000
       HRC011DK: * LOCAL REGISTER USAGE -                                                01454000
       HRC011DK: *                                                                       01455000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          01456000
       HRC011DK: *        R7  - LINKAGE                                                  01457000
       HRC011DK: *        R9  - CCW STRING ADDRESS                                       01458000
       HRC011DK: *        R14 - LINKAGE                                                  01459000
       HRC011DK: *                                                                       01460000
       HRC011DK: *.&******************************************************************** 01461000
       HRC011DK:          SPACE ,                                                        01462000
       HRC011DK: *---------------------------------------------------------------------- 01463000
       HRC011DK: *        MOVE IN THE FIRST LETTER OF INDATA (WOULD BE 'L' FOR LABEL     01464000
       HRC011DK: *        ONLY.  ISSUE 'ENTER DEVICE LABEL:' MESSAGE AND THEN CALL RMSG  01465000
       HRC011DK: *        TO READ THE RESPONSE.  LABEL ENTERED MUST BE LESS THAN 7       01466000
       HRC011DK: *        CHARACTERS WITH THE FIRST CHARACTER NON-BLANK.                 01467000
       HRC011DK: *---------------------------------------------------------------------- 01468000
       HRC011DK:          SPACE ,                                                        01469000
       HRC011DK: LAB      MVC   LOSW(1),INDATA          CHECK FIRST BYTE INDATA SAVED    01470000
       HRC011DK: LAB2     LA    R4,RDLAB                REQUEST VOLUME LABEL             01471000
       HRC011DK:          BAL   R14,WMSG                WRITE MESSAGE                    01472000
       HRC011DK:          BAL   R14,RMSG                READ RESPONSE                    01473000
       HRC011DK:          TM    CSW+4,UE                CANCEL OR UNIT CHECK             01474000
       HRC011DK:          BO    LAB2                    YES, TRY AGAIN                   01475000
       HRC011DK:          OC    INDATA(7),BLANKS8       CONVERT TO UPPER CASE            01476000
       HRC011DK:          CLI   INDATA+6,X'40'          TOO MUCH DATA ENTER?             01477000
       HRC011DK:          BNE   LAB2                    YES, BRANCH                      01478000
       HRC011DK:          CLI   INDATA,C' '             FIRST BYTE BLANK?                01479000
       HRC011DK:          BE    LAB2                    YES, ERROR, DO IT AGAIN          01480000
       HRC011DK:          SPACE ,                                                        01481000
       HRC011DK: *---------------------------------------------------------------------- 01482000
       HRC011DK: *        PREPARE THE CCWS FOR READING THE CURRENT LABEL FROM THE PACK.  01483000
       HRC011DK: *        LBLREC CCW STRING READS THE LABEL FROM A CKD. CALL STRTIO      01484000
       HRC011DK: *        TO READ THE LABEL INTO OSLABEL/CPLABEL.                        01485000
       HRC011DK: *---------------------------------------------------------------------- 01486000
       HRC011DK:          SPACE ,                                                        01487000
       HRC011DK:          XC    SEEKA(6),SEEKA          CLEAR CCW DATA AREA              01488000
       HRC011DK:          MVC   CPLABEL,=X'009596958500' PLUG IN LOWER CASE LABEL 'NONE' 01489000
       HRC011DK:          L     R2,=A(TABLE)   LOAD ADD OF ALLOC TABLE                   01490000
       HRC011DK:          LH    R3,=AL2(DL4096-1) LOAD ALLOC TABLE LENGTH                01491000
       HRC011DK:          SR    R4,R4          ZERO R4 FOR FILL OPERATION                01492000
       HRC011DK:          SR    R5,R5          ZERO R5 FOR FILL OPERATION                01493000
       HRC011DK:          ICM   R5,8,=X'FE'    SET PAD BYTE TO X'FE'                     01494000
       HRC011DK:          MVCL  R2,R4          FILL ALLOC TABLE WITH X'FE'               01495000
       HRC011DK:          LA    R9,LBLREC               PUT LABEL CCW ADDRESS INTO R9    01496000
       HRC011DK:          ST    R9,CAW                  LABEL CCW ADDRESS INTO CAW       01497000
       HRC011DK:          LH    R5,DSKADD               DEVICE ADDRESS INTO R5           01498000
       HRC011DK:          BAL   R14,STRTIO              GO START THE DEVICE              01499000
       HRC011DK:          SPACE ,                                                        01500000
       HRC011DK: *---------------------------------------------------------------------- 01501000
       HRC011DK: *        IF DURING ALLOCATION WE GET A UNIT CHECK WHILE READING THE     01502000
       HRC011DK: *        LABEL, THEN ISSUE A SENSE TO THE DEVICE AND DISPLAY AN ERROR   01503000
       HRC011DK: *        MESSAGE (GO TO FATAL).                                         01504000
       HRC011DK: *---------------------------------------------------------------------- 01505000
       HRC011DK:          SPACE ,                                                        01506000
       HRC011DK:          CLI   FLAG,C'A'               IS IT ALLOCATE?                  01507000
       HRC011DK:          BNE   LABELIOG                NO, SKIP CHECK FOR UC            01508000
       HRC011DK:          TM    CSW+4,UC                DID WE GET A CLEAN I/O?          01509000
       HRC011DK:          BNO   LABELIOG                YES, CONTINUE NORMALLY           01510000
       HRC011DK:          BAL   R7,SENSIT               NO, GO GET SENSE FOR MSG         01511000
       HRC011DK:          MVC   CCHHR(5),R4ALLOC        MOVE IN CCHHR DATA               01512000
       HRC011DK:          BAL   R7,SENSIT2              TYPE THE MESSAGE                 01513000
       HRC011DK:          MVI   ALLOERR,X'FF'  SET ALLOC ERROR SW ON                     01514000
       HRC011DK:          MVI   LABIOERR,X'FF' SET LABEL I/O ERROR SW ON                 01515000
       HRC011DK:          B     FATAL                                                    01516000
       HRC011DK:          SPACE ,                                                        01517000
       HRC011DK: *---------------------------------------------------------------------- 01518000
       HRC011DK: *        FOR THE "LABEL" FUNCTION, GO TO LABONLY.                       01519000
       HRC011DK: *        FOR "ALLOCATE", VERIFY THAT THE LABEL READ OFF THE DEVICE      01520000
       HRC011DK: *        MATCHES THE LABEL ENTERED BY THE USER.  THEN CONTINUE TO       01521000
       HRC011DK: *        'ALLOCATE'.                                                    01522000
       HRC011DK: *        FOR THE "FORMAT" FUNCTION:                                     01523000
       HRC011DK: *        IF FORMATTING CKD STARTING AT CYL 0, THEN GO TO FMT WHICH      01524000
       HRC011DK: *           PRESERVES ANY EXISTING OS FORMAT 4 LABEL ON TRACK 0.        01525000
       HRC011DK: *        IF FORMATTING CKD OTHERWISE & LABELS EQUAL, GO TO 'REGFORM1'.  01526000
       HRC011DK: *---------------------------------------------------------------------- 01527000
       HRC011DK:          SPACE ,                                                        01528000
       HRC011DK: LABELIOG EQU   *                                                        01529000
       HRC011DK:          CLI   LOSW,C'L'               LABEL ONLY?                      01530000
       HRC011DK:          BE    LABONLY                 YES BRANCH                       01531000
       HRC011DK:          CLI   FLAG,C'A'               IS IT ALLOCATE?                  01532000
       HRC011DK:          BE    LABMATCH                VERIFY LABELS IF ALLOC           01533000
       HRC011DK:          CLC   BEGIN,=X'0000'          IS IT REGULAR FORMAT?            01534000
       HRC011DK:          BE    FMT                     YES, CONTINUE                    01535000
       HRC011DK:          SPACE ,                                                        01536000
       HRC011DK: *---------------------------------------------------------------------- 01537000
       HRC011DK: *        IF THE LABEL READ FROM THE VOLUME DOES NOT MATCH THE LABEL     01538000
       HRC011DK: *        ENTERED BY THE USER, THEN ISSUE 'VOLID READ IS XXXXXX NOT      01539000
       HRC011DK: *        XXXXXX'.  GO BACK TO LAB2 TO RE-ISSUE 'ENTER DEVICE LABEL:'.   01540000
       HRC011DK: *---------------------------------------------------------------------- 01541000
       HRC011DK:          SPACE ,                                                        01542000
       HRC011DK: LABMATCH CLC   CPLABEL,INDATA          DO LABELS MATCH?                 01543000
       HRC011DK:          BNE   LABELBAD                NO, BRANCH                       01544000
       HRC011DK:          CLI   FLAG,C'F'               FORMAT?                          01545000
       HRC011DK:          BE    REGFORM1                YES,BRANCH                       01546000
       HRC011DK:          B     ALLOCATE                MUST BE ALLOCATE                 01547000
       HRC011DK:          SPACE ,                                                        01548000
       HRC011DK: LABELBAD MVC   WRONG+37(6),INDATA      SET UP LABEL                     01549000
       HRC011DK:          MVC   WRONG+26(6),CPLABEL     SET UP LABEL                     01550000
       HRC011DK:          LA    R4,WRONG                PRINT WRONG LABEL                01551000
       HRC011DK:          BAL   R14,WMSG                PRINT MESSAGE                    01552000
       HRC011DK:          CLI   CDSW2,X'FF'             CARD SWITCH ON?                  01553000
       HRC011DK:          BE    BADINPUT                YES, BRANCH                      01554000
       HRC011DK:          B     LAB2                    BRANCH                           01555000
       HRC011DK: *.3******************************************************************** 01556000
       HRC011DK: *                                                                       01557000
       HRC011DK: * OPERATION -                                                           01558000
       HRC011DK: *                                                                       01559000
       HRC011DK: * N. HANDLE "LABEL ONLY" FUNCTION                                       01560000
       HRC011DK: *                                                                       01561000
       HRC011DK: *        1. WRITE NEW CP VOLUME LABEL IN CYLINDER 0 HEAD 0 RECORD 3.    01562000
       HRC011DK: *        2. HANDLE ANY BAD STATUS RESULTING FROM WRITING OUT THE LABEL. 01563000
       HRC011DK: *        3. GET ANOTHER TASK FROM CONSOLE OR IPL DEVICE WHEN LABELLING  01564000
       HRC011DK: *           IS COMPLETE.                                                01565000
       HRC011DK: *                                                                       01566000
       HRC011DK: * LOCAL REGISTER USAGE -                                                01567000
       HRC011DK: *                                                                       01568000
       HRC011DK: *        R5  - DEVICE ADDRESS                                           01569000
       HRC011DK: *        R9  - ADDRESS OF CHANNEL PROGRAM                               01570000
       HRC011DK: *                                                                       01571000
       HRC011DK: *.&******************************************************************** 01572000
       HRC011DK:          SPACE ,                                                        01573000
       HRC011DK: *---------------------------------------------------------------------- 01574000
       HRC011DK: *        FOR A NON-CMS DISK, MOVE 'VOL1' INTO OSLABEL.                  01575000
       HRC011DK: *---------------------------------------------------------------------- 01576000
       HRC011DK:          SPACE ,                                                        01577000
       HRC011DK: LABONLY  MVC   CPLABEL(6),INDATA       MOVE IN NEW LABEL NAME           01578000
       HRC011DK:          CLC   =C'CMS=',OSLABEL        IS THIS A CMS DISK?              01579000
       HRC011DK:          BE    LABCMS                  YES                              01580000
       HRC011DK:          CLC   =C'CMS1',OSLABEL        IS IT CMS EDF LABEL?             01581000
       HRC011DK:          BE    LABCMS                  YES                              01582000
       HRC011DK:          MVC   OSLABEL(4),VOL1         NO, MAKE IT VOL1 LABEL           01583000
       HRC011DK: LABCMS   DS    0H                                                       01584000
       HRC011DK:          SPACE ,                                                        01585000
       HRC011DK: *---------------------------------------------------------------------- 01586000
       HRC011DK: *        GET THE APPROPRIATE CCW STRING FOR WRITING THE LABEL.          01587000
       HRC011DK: *        LABWRITE - WRITE LABEL ON CKD DEVICE.                          01588000
       HRC011DK: *---------------------------------------------------------------------- 01589000
       HRC011DK:          SPACE ,                                                        01590000
       HRC011DK:          LH    R5,DSKADD               DEVICE ADDRESS INTO R5           01591000
       HRC011DK:          LA    R9,LABWRITE             LABEL CCW CHAIN INTO R9          01592000
       HRC011DK:          ST    R9,CAW                  CAW POINTS TO LABEL CCWS         01593000
       HRC011DK:          BAL   R14,STRTIO1             WRITE OUT THE LABEL              01594000
       HRC011DK:          SPACE ,                                                        01595000
       HRC011DK: *---------------------------------------------------------------------- 01596000
       HRC011DK: *        HANDLE ANY BAD STATUS RESULTING FROM WRITING OUT THE LABEL.    01597000
       HRC011DK: *        FOR CC3 FROM TIO, ISSUE 'DEV XXX NOT OPERATIONAL OR NOT READY' 01598000
       HRC011DK: *        FOR CHANNEL ERRORS OR UNIT CHECK, GO ISSUE SENSE TO DEVICE AND 01599000
       HRC011DK: *           ISSUE ERROR MESSAGE.                                        01600000
       HRC011DK: *        FOR CHANNEL END, ISSUE 'LABEL IS NOW XXXXXX'.                  01601000
       HRC011DK: *---------------------------------------------------------------------- 01602000
       HRC011DK:          SPACE ,                                                        01603000
       HRC011DK: TIO      TIO   0(R5)          DRAIN THE INT                             01604000
       HRC011DK:          BC    2,*-4          LOOP UNTIL DONE                           01605000
       HRC011DK:          BC    1,TIOCC3       CC=3 - HELP . . .                         01606000
       HRC011DK:          TM    CSW+5,X'FF'    ANY BAD CHANNEL STATUS                    01607000
       HRC011DK:          BNZ   VOL1ERR        YES- FATAL                                01608000
       HRC011DK:          TM    CSW+4,UC       UNIT CHECK                                01609000
       HRC011DK:          BO    VOL1ERR        YES- BRANCH                               01610000
       HRC011DK:          TM    CSW+4,CE       CHANNEL END                               01611000
       HRC011DK:          BO    VOL1OK         YES- BRANCH ALL OK                        01612000
       HRC011DK:          B     TIO            NO- GO GET IT                             01613000
       HRC011DK:          SPACE ,                                                        01614000
       HRC011DK: VOL1ERR  BAL   R7,SENSIT      GET THE SENSE DATA                        01615000
       HRC011DK:          MVC   CCHHR(5),R3VOL1     MOVE IN THE CCHHR DATA               01616000
       HRC011DK:          BAL   R7,SENSIT2     TYPE THE MSG                              01617000
       HRC011DK:          B     FATAL                                                    01618000
       HRC011DK:          SPACE ,                                                        01619000
       HRC011DK: VOL1OK   MVC   LABELOK+14(6),CPLABEL    MOVE THE LABEL INTO THE MSG     01620000
       HRC011DK:          LA    R4,LABELOK     POINT TO THE MSG                          01621000
       HRC011DK:          BAL   R14,WMSG       AND GO TYPE IT                            01622000
       HRC011DK:          B     GETCARD        GO PROMPT FOR ANOTHER TASK                01623000
       HRC011DK:          SPACE ,                                                        01624000
       HRC011DK: TIOCC3   EQU   *                                                        01625000
       HRC011DK:          LA    R4,WR1         TELL HIM ABOUT PROBLEMS                   01626000
       HRC011DK:          BAL   R14,WMSG       . . .                                     01627000
       HRC011DK:          B     GETCARD        SEE IF THERE'S ANY MORE WORK.             01628000
       HRC011DK: *.3******************************************************************** 01629000
       HRC011DK: *                                                                       01630000
       HRC011DK: * OPERATION -                                                           01631000
       HRC011DK: *                                                                       01632000
       HRC011DK: * O. HANDLE FORMAT CYLINDER 0 FOR CKD -- OBTAIN PERTINENT TRACK AND     01633000
       HRC011DK: *    LABEL INFORMATION                                                  01634000
       HRC011DK: *                                                                       01635000
       HRC011DK: *        1. SAVE THE FMT4 DSCB INFORMATION AND INCLUDE IT IN THE        01636000
       HRC011DK: *           FORMAT4 DSCB WRITTEN BY US.                                 01637000
       HRC011DK: *        2. PRESERVE THE ALTERNATE TRACK ASSIGNMENT AND OS FORMAT 4     01638000
       HRC011DK: *           LABEL.                                                      01639000
       HRC011DK: *                                                                       01640000
       HRC011DK: * LOCAL REGISTER USAGE -                                                01641000
       HRC011DK: *                                                                       01642000
       HRC011DK: *                                                                       01643000
       HRC011DK: *.&******************************************************************** 01644000
       HRC011DK:          SPACE ,                                                        01645000
       HRC011DK: *---------------------------------------------------------------------- 01646000
       HRC011DK: *        IF CPLABEL STILL EQUALS ' none ', THEN THERE WAS A PROBLEM     01647000
       HRC011DK: *        READING RECORD 3 - SKIP SAVING ALTERNATE TRACK INFO.           01648000
       HRC011DK: *        IF OSLABEL INDICATES CMS (NOT VOL1), THEN SKIP SAVING INFO.    01649000
       HRC011DK: *                                                                       01650000
       HRC011DK: *        THE IBCDASDI FORMATTING UTILITY KEEPS THE CCHH FOR THE NEXT    01651000
       HRC011DK: *        AVAILABLE ALTERNATE TRACK AND THE NUMBER OF ALTERNATE TRACKS   01652000
       HRC011DK: *        IN THE FMT4 DSCB.  WE DO NOT WANT TO DESTROY THIS INFORMATION  01653000
       HRC011DK: *        WHEN CP WRITES ITS FORMAT4 DSCB; THE INFO WILL BE SAVED AND    01654000
       HRC011DK: *        INCLUDED IN THE FORMAT4 DSCB WRITTEN BY DMKFMT.  IBCDASDI AND  01655000
       HRC011DK: *        DMKFMT WRITE R3 WITH "VOL1".  CMS FORMAT WRITES NO FMT4 DSCB   01656000
       HRC011DK: *        AND THEREFORE THERE IS NO POINT IN LOOKING FOR THE INFO.       01657000
       HRC011DK: *---------------------------------------------------------------------- 01658000
       HRC011DK:          SPACE ,                                                        01659000
       HRC011DK: FMT      CLC   CPLABEL,=X'009596958500' PROB. READING R3?               01660000
       HRC011DK:          BE    REGFORM        YES, DON'T SAVE ALT. TRK INFO             01661000
       HRC011DK:          CLC   OSLABEL(3),=CL3'VOL' STD. LABEL                          01662000
       HRC011DK:          BNE   REGFORM        NO, SKIP CMS LABEL                        01663000
       HRC011DK:          TM    TYPE,X'70'     3330,334X,3350 OR 3380?                   01664000
       HRC011DK:          BZ    REGFORM        NO, THEN REG FORMAT                       01665000
       HRC011DK:          SPACE ,                                                        01666000
       HRC011DK: *---------------------------------------------------------------------- 01667000
       HRC011DK: *        IF THE VTOC ADDRESS IS ZEROES OR BELOW CCHHR = 0000000005,     01668000
       HRC011DK: *        THEN DON'T READ.  IBCDASDI DOES NOT PERMIT VTOC ON TRACK 0.    01669000
       HRC011DK: *        CP'S DMKFMT PLACES VTOC ON CCHHR = 0000000005.                 01670000
       HRC011DK: *---------------------------------------------------------------------- 01671000
       HRC011DK:          SPACE ,                                                        01672000
       HRC011DK:          CLC   VTOCBEG,=F'0'  VERIFY VTOC ADDRESS                       01673000
       HRC011DK:          BNE   READFMT4       GO AHEAD AND READ                         01674000
       HRC011DK:          CLI   VTOCR,X'05'    CANNOT BE LESS THAN R5                    01675000
       HRC011DK:          BL    REGFORM        NO POINT IN READING FMT4                  01676000
       HRC011DK:          SPACE ,                                                        01677000
       HRC011DK: *---------------------------------------------------------------------- 01678000
       HRC011DK: *        PRESERVE ALTERNATE TRACK ASSIGNMENT AND OS FORMAT 4 LABEL.     01679000
       HRC011DK: *---------------------------------------------------------------------- 01680000
       HRC011DK:          SPACE ,                                                        01681000
       HRC011DK:          DS    0H                                                       01682000
       HRC011DK: READFMT4 LA    R9,RDFMT4      CH. PGM. TO RD FMT4                       01683000
       HRC011DK:          MVC   SEEKA+2(4),VTOCBEG SETUP THE SEEK ADDRESS                01684000
       HRC011DK:          ST    R9,CAW         SETUP FOR THE CHANNEL PROGRAM             01685000
       HRC011DK:          BAL   R14,STRTIO     READ FMT4 LABEL                           01686000
       HRC011DK:          CLC   NEXTCCHH(2),HIVALUE NEXT AVAILABLE ALT TRACK             01687000
       HRC011DK: *                             BETTER BE IN ALT CYL                      01688000
       HRC011DK:          BL    REGFORM        NO, DON'T SAVE INFO                       01689000
       HRC011DK: SAVEALT  MVC   ALTCCHH,NEXTCCHH SAVE NEXT AVAIL. ALT TRK &              01690000
       HRC011DK: *                             NO. OF ALT. TRKS FOR CP'S FMT4            01691000
       HRC011DK: *.3******************************************************************** 01692000
       HRC011DK: *                                                                       01693000
       HRC011DK: * OPERATION -                                                           01694000
       HRC011DK: *                                                                       01695000
       HRC011DK: * P. FORMAT CKD                                                         01696000
       HRC011DK: *                                                                       01697000
       HRC011DK: *        FORMAT FROM THE STARTING CYLINDER UP TO AND INCLUDING THE      01698000
       HRC011DK: *        ENDING CYLINDER OF THE DASD DEVICE AS REQUESTED BY CONSOLE     01699000
       HRC011DK: *        OR IPL DEVICE INPUT.  FORMATTED RECORDS ARE 4096 BYTES (PAGE   01700000
       HRC011DK: *        SIZE).  IF WVFLAGS IS SET THEN PROMPT USER FOR WRITE           01701000
       HRC011DK: *        VERIFICATION AND SET WVFLAGS TO REFLECT RESPONSE IF ANY.       01702000
       HRC011DK: *                                                                       01703000
       HRC011DK: *        FORMAT CKD CYLINDER 0 AS FOLLOWS:                              01704000
       HRC011DK: *                                                                       01705000
       HRC011DK: *        REC 0 PAGE BIT MAP      - FLAGS BAD OR IN-USE PAGES            01706000
       HRC011DK: *        REC 1 IPL RECORD        - SYSTEM WAIT STATE 00C                01707000
       HRC011DK: *        REC 2 CHECKPOINT RECORD - DMKCKP CHECKPOINT ROUTINE            01708000
       HRC011DK: *        REC 3 OS VOL1 LABEL     - CONTAINS CP VOLUME LABEL             01709000
       HRC011DK: *        REC 4 ALLOCATION MAP    - ALLOCATION TYPE FOR EACH CYLINDER    01710000
       HRC011DK: *        REC 5 OS FORMAT 4 LABEL                                        01711000
       HRC011DK: *        REC 6 OS FORMAT 5 LABEL                                        01712000
       HRC011DK: *                                                                       01713000
       HRC011DK: *        FOR 3330:                                                      01714000
       HRC011DK: *           RF3 PAGE SIZE FILLER RECORD FOR FUTURE CP USE.              01715000
       HRC011DK: *        FOR 2314 AND 2319:                                             01716000
       HRC011DK: *           RF4 FILLER RECORD                                           01717000
       HRC011DK: *        FOR 3380:                                                      01718000
       HRC011DK: *           RF4-RF7 PAGE SIZE FILLER RECORDS                            01719000
       HRC011DK: *           RF8 FILLER RECORD                                           01720000
       HRC011DK: *           R7-R10 VALID PAGE RECORDS                                   01721000
       HRC011DK: *                                                                       01722000
       HRC011DK: *        CKD FORMATTING GENERAL NOTES:                                  01723000
       HRC011DK: *                                                                       01724000
       HRC011DK: *           A. WRITE CP VOLUME LABEL WHEN CYLINDER 0 IS FORMATTED,      01725000
       HRC011DK: *              OTHERWISE READ AND COMPARE CP VOLUME LABEL TO INPUT.     01726000
       HRC011DK: *           B. WRITE PAGE SIZE RECORDS ON THE REST OF CYLINDER 0        01727000
       HRC011DK: *              AND ALL OTHER CYLINDERS REQUESTED.                       01728000
       HRC011DK: *           C. WRITE VERIFY THAT EACH PAGE RECORD WAS WRITTEN           01729000
       HRC011DK: *              CORRECTLY WHEN REQUESTED.                                01730000
       HRC011DK: *           D. RECORD ANY BAD PAGE RECORD IN THE "PAGE BIT MAP"         01731000
       HRC011DK: *              LOCATED ON TRACK 0 RECORD 0 OF EACH CYLINDER.            01732000
       HRC011DK: *           E. PRINT BAD PAGE ADDRESSES AS THEY ARE FOUND.              01733000
       HRC011DK: *           F. PRINT TOTAL OF BAD PAGES AS THEY ARE FOUND WHEN          01734000
       HRC011DK: *              FORMAT IS COMPLETE.                                      01735000
       HRC011DK: *           G. GET ANOTHER TASK FROM CONSOLE OR IPL DEVICE WHEN         01736000
       HRC011DK: *              FORMAT IS COMPLETE.                                      01737000
       HRC011DK: *                                                                       01738000
       HRC011DK: *        1. RESTORE OS LABEL INFORMATION AND FORMAT4 DSCB; CLEAR        01739000
       HRC011DK: *           ALLOCATION TABLE. FOR PAGE 0/CYLINDER 0.                    01740000
       HRC011DK: *        2. ISSUE 'FORMAT STARTED'.                                     01741000
       HRC011DK: *        3. FOR EACH CYLINDER, MODIFY THE SEEK.  RESTORE/CLEAR THE      01742000
       HRC011DK: *           FORMAT OF THE RECORD FIELDS AND SEEK FIELDS.                01743000
       HRC011DK: *        4. HANDLE 3350 FILLER MODIFICATIONS AND HEAD INITIALIZATION.   01744000
       HRC011DK: *        5. HANDLE 3340 HEAD INITIALIZATION.                            01745000
       HRC011DK: *        6. HANDLE 3380 HEAD INITIALIZATION.                            01746000
       HRC011DK: *        7. LOAD THE NUMBER OF SEEK FIELDS FOR A PARTICULAR DASD DEVICE 01747000
       HRC011DK: *        8. INSERT THE PROPER CYLINDER NUMBER INTO THE RECORD DATA AREA 01748000
       HRC011DK: *        9. GO BEGIN THE SIO FORMATTING AT OP U.                        01749000
       HRC011DK: *                                                                       01750000
       HRC011DK: * LOCAL REGISTER USAGE -                                                01751000
       HRC011DK: *                                                                       01752000
       HRC011DK: *        R4  - WORK                                                     01753000
       HRC011DK: *        R5  - WORK                                                     01754000
       HRC011DK: *        R6  - DEVICE FORMAT TABLE ADDRESSABILITY                       01755000
       HRC011DK: *        R7  - WORK                                                     01756000
       HRC011DK: *        R14 - LINKAGE                                                  01757000
       HRC011DK: *                                                                       01758000
       HRC011DK: *.$******************************************************************** 01759000
       HRC011DK:          SPACE ,                                                        01760000
       HRC011DK: *---------------------------------------------------------------------- 01761000
       HRC011DK: *        FORMATTING STARTING FROM PAGE/CYLINDER 0:                      01762000
       HRC011DK: *        RESTORE OS LABEL INFORMATION, RESTORE FORMAT4 DSCB, CLEAR      01763000
       HRC011DK: *        ALLOCATION TABLE.                                              01764000
       HRC011DK: *---------------------------------------------------------------------- 01765000
       HRC011DK:          SPACE ,                                                        01766000
       HRC011DK: REGFORM  DS    0H                                                       01767000
       HRC011DK:          MVC   OSLABEL,SAVEVOL1      RESTORE TO IPL'ED DATA             01768000
       HRC011DK:          MVC   FMT4DATA(96),SAVEFMT4 RESTORE TO CP'S FMT4               01769000
       HRC011DK:          MVC   NEXTCCHH(6),ALTCCHH MOVE NEXT AVAIL ALT TRK &            01770000
       HRC011DK: *                             NO. OF ALT. TRKS TO CP'S FMT4             01771000
       HRC011DK:          XC    ALTCCHH(6),ALTCCHH CLEAR IN CASE SECOND PASS             01772000
       HRC011DK:          L     R4,=A(TABLE)   POINT TO START OF ALLOC BUFFER            01773000
       HRC011DK:          LH    R5,=AL2(DL4096-1)  LOAD TABLE LENGTH                     01774000
       HRC011DK:          SR    R7,R7          SET TO LENGTH                             01775000
       HRC011DK:          MVCL  R4,R6          CLEAR REST OF BUFFER                      01776000
       HRC011DK:          SPACE ,                                                        01777000
       HRC011DK: *---------------------------------------------------------------------- 01778000
       HRC011DK: *        FOR CKD, INITIALIZE THE ALLOCATION TABLE.                      01779000
       HRC011DK: *---------------------------------------------------------------------- 01780000
       HRC011DK:          SPACE ,                                                        01781000
       HRC011DK:          L     R4,=A(TABLE)   POINT TO START OF ALLOC BUFFER            01782000
       HRC011DK:          AH    R4,HIVALUE     HIVALUE+1 POINTS TO END OF MAP            01783000
       HRC011DK:          MVI   1(R4),X'FF'    TURN ON THE END OF TABLE FLAG             01784000
       HRC011DK:          SPACE ,                                                        01785000
       HRC011DK: *---------------------------------------------------------------------- 01786000
       HRC011DK: *        DETERMINE IF WRITE VERIFICATION PROMPT IS NECESSARY.           01787000
       HRC011DK: *        NOT ALL DASD SUPPORT THIS OPTION, IN WHICH CASE PROMPTING      01788000
       HRC011DK: *        IS NOT NECESSARY.                                              01789000
       HRC011DK: *---------------------------------------------------------------------- 01790000
       HRC011DK:          SPACE ,                                                        01791000
       HRC011DK: REGFORM1 DS    0H                                                       01792000
       HRC011DK:          MVC   CPLABEL(6),INDATA MOVE IN LABEL                          01793000
       HRC011DK:          TM    WVFLAGS,WVPMT  IF  PROMPT NOT REQUIRED                   01794000
       HRC011DK:          BZ    ENDWVRTN          EXIT WRT VERIF RTN                     01795000
       HRC011DK: PMTFORWV DS    0H                                                       01796000
       HRC011DK:          LA    R4,WVMSG1      GET WRITE VERIF. MSG #1                   01797000
       HRC011DK:          BAL   R14,WMSG          AND WRITE TO CONSOLE                   01798000
       HRC011DK:          LA    R4,WVMSG2      GET WRITE VERIF. MSG #2                   01799000
       HRC011DK:          BAL   R14,WMSG          AND WRITE TO CONSOLE                   01800000
       HRC011DK:          BAL   R14,RMSG       READ MESSAGE                              01801000
       HRC011DK:          TM    CSW+4,UE       IF UNIT EXCEP.                            01802000
       HRC011DK:          BO    PMTFORWV          THEN PROMPT AGAIN                      01803000
       HRC011DK:          SPACE ,                                                        01804000
       HRC011DK: *---------------------------------------------------------------------- 01805000
       HRC011DK: *        CONVERT RESPONSE, CHECK, AND SET NECESSARY WVFLAGS BIT         01806000
       HRC011DK: *---------------------------------------------------------------------- 01807000
       HRC011DK:          SPACE ,                                                        01808000
       HRC011DK:          OC    INDATA(3),BLANKS8       CONVERT TO UPPER CASE            01809000
       HRC011DK:          CLC   INDATA(3),=C'YES'       WHEN 'YES' RESPONSE              01810000
       HRC011DK:          BE    SETWVFLG                   THEN GO SET WVFLAGS           01811000
       HRC011DK:          CLC   INDATA(3),=C'YE '       WHEN 'YE ' RESPONSE              01812000
       HRC011DK:          BE    SETWVFLG                   THEN GO SET WVFLAGS           01813000
       HRC011DK:          CLC   INDATA(3),=C'Y  '       WHEN 'Y  ' RESPONSE              01814000
       HRC011DK:          BE    SETWVFLG                   THEN GO SET WVFLAGS           01815000
       HRC011DK:          B     STRWVMSK                OTHERWISE GO MASK CCW            01816000
       HRC011DK: SETWVFLG DS    0H                                                       01817000
       HRC011DK:          OI    WVFLAGS,WVREQ           INDICATE WRITE VERIF.            01818000
       HRC011DK:          B     ENDWVRTN                EXIT WRT VERIF. RTN              01819000
       HRC011DK:          SPACE ,                                                        01820000
       HRC011DK: *---------------------------------------------------------------------- 01821000
       HRC011DK: *        IF WRITE VERIFICATION IS NOT REQUESTED, THEN MASK OUT          01822000
       HRC011DK: *        PROGRAM CHAINING TO THE WRITE VERIFICATION PROGRAM.            01823000
       HRC011DK: *---------------------------------------------------------------------- 01824000
       HRC011DK:          SPACE ,                                                        01825000
       HRC011DK: STRWVMSK DS    0H                                                       01826000
       HRC011DK:          SR    R7,R7                   SET UP FOR GETTING DEV.          01827000
       HRC011DK:          BAL   R14,DFOADSET   SET ADDRESS TO FIND DEVICE/FORMAT         01828000
       HRC011DK: *                             DATA FOR THIS DEVICE TYPE                 01829000
       HRC011DK:          USING DFODATA,R6     ON RETURN R6 POINTS TO ENTRY              01830000
       HRC011DK: *                             DEVICE/FORMAT TABLE                       01831000
       HRC011DK:          SPACE ,                                                        01832000
       HRC011DK: *---------------------------------------------------------------------- 01833000
       HRC011DK: *        ALL ALTERATIONS TO CHANNEL PROGRAMS MUST BE RESTORED           01834000
       HRC011DK: *        ONCE THIS TASK IS COMPLETED.  THEREFORE ANY CHANGES MUST       01835000
       HRC011DK: *        BE IDENTIFIED (CHNGCCW) FOR LATER HOUSEKEEPING.                01836000
       HRC011DK: *---------------------------------------------------------------------- 01837000
       HRC011DK:          SPACE ,                                                        01838000
       HRC011DK:          L     R7,DFOCAWEW        LAST WRITE CCW IN WRITE PROG          01839000
       HRC011DK:          ST    R7,CCWCHNG         STORE ADDRESS OF THIS CCW.            01840000
       HRC011DK:          NI    4(R7),X'FF'-CC     MASK THE CC BIT AT THIS CCW           01841000
       HRC011DK: *                                  WHICH WILL AVOID WRT VERIF.          01842000
       HRC011DK:          DROP  R6                 DROP BASE REGISTER                    01843000
       HRC011DK:          SPACE ,                                                        01844000
       HRC011DK: *---------------------------------------------------------------------- 01845000
       HRC011DK: *        FORMATTING STARTING FROM OTHER THAN PAGE/CYLINDER 0.           01846000
       HRC011DK: *        ISSUE MESSAGE 'FORMAT STARTED'.                                01847000
       HRC011DK: *---------------------------------------------------------------------- 01848000
       HRC011DK:          SPACE ,                                                        01849000
       HRC011DK: ENDWVRTN DS    0H                 END WRT. VERIF. STRUCTURE             01850000
       HRC011DK:          LA    R4,PROGFOR     SET UP MESSAGE FORMAT STARTED             01851000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             01852000
       HRC011DK:          SPACE ,                                                        01853000
       HRC011DK: *---------------------------------------------------------------------- 01854000
       HRC011DK: *        ONETIME IS A BRANCH ON EQUAL TO 'CHECK0' TO CHECK CYLINDER 0   01855000
       HRC011DK: *        FOR ERRORS.  FOR THE FIRST TIME THROUGH, WE WANT TO GO TO      01856000
       HRC011DK: *        CHECK0, BUT ONLY ONCE.  THE ONETIME BRANCH IS NO-OPED LATER.   01857000
       HRC011DK: *        PGCOUNT KEEPS A COUNT OF PAGE ERRORS FOUND.                    01858000
       HRC011DK: *---------------------------------------------------------------------- 01859000
       HRC011DK:          SPACE ,                                                        01860000
       HRC011DK:          MVI   ONETIME+1,X'80' SET UP FOR EQUAL COMPARE                 01861000
       HRC011DK:          MVI   ALTFLAG,0      INIT FLAG FOR DASD I/O INT. HNDLR         01862000
       HRC011DK:          MVC   IONPSW(8),NEWPSW CHANGE NEW IO PSW                       01863000
       HRC011DK:          XC    PGCOUNT(4),PGCOUNT CLEAR FIELD                           01864000
       HRC011DK:          SPACE ,                                                        01865000
       HRC011DK: *---------------------------------------------------------------------- 01866000
       HRC011DK: *        FOR EACH CYLINDER, MODIFY THE SEEK.  GOA1 IS BRANCHED TO AFTER 01867000
       HRC011DK: *        ADVANCING TO THE NEXT CYLINDER.  RESTORE/CLEAR THE FORMAT OF   01868000
       HRC011DK: *        THE RECORD FIELDS AND THE SEEK FIELDS.                         01869000
       HRC011DK: *---------------------------------------------------------------------- 01870000
       HRC011DK:          SPACE ,                                                        01871000
       HRC011DK: GOA1     XC    ERCOUNT(4),ERCOUNT CLEAR ERROR COUNT                     01872000
       HRC011DK:          MVC   SEEKA(118),WKSEEK RESTORE TO STARTING SEEKS              01873000
       HRC011DK:          MVC   REC1(RNBYTE1),RNDATA RESTORE DASD RECORD FIELDS          01874000
       HRC011DK:          MVC   REC1+RNBYTE1(RNBYTE2),RNDATA+RNBYTE1   ....              01875000
       HRC011DK:          MVC   RECXX3(RNBYTES1),RNDATA1               ....              01876000
       HRC011DK:          CLI   TYPE,TYP3350   MODIFY FOR 3350 FILLER LENGTH             01877000
       HRC011DK:          BNE   GOTST40        NO, BYPASS FILLER MODIFICATIONS           01878000
       HRC011DK:          SPACE ,                                                        01879000
       HRC011DK: *---------------------------------------------------------------------- 01880000
       HRC011DK: *        3350:  FILLER MODIFICATIONS + HEAD INITIALIZATION.             01881000
       HRC011DK: *                                                                       01882000
       HRC011DK: *        THERE ARE 11 300-BYTE FILLER RECORDS FOR A 3350 PER CYLINDER.  01883000
       HRC011DK: *        FOR THE HEAD NUMBERS, CHANGE THEM TO FIT THE MOLD FOR 3350S.   01884000
       HRC011DK: *        A 3350 WILL HAVE 4 RECORDS PER HEAD, NOT 3 AS IS DEFINED IN    01885000
       HRC011DK: *        THE TABLE FOR 3330S.  3350S HAVE 3 HEADS PER CYLINDER.         01886000
       HRC011DK: *---------------------------------------------------------------------- 01887000
       HRC011DK:          SPACE ,                                                        01888000
       HRC011DK:          LA    R7,11          NUMBER OF FILLER CCWS           @V304498  01889000
       HRC011DK:          LA    R5,RECX1+6     FIRST FILLER CCW                          01890000
       HRC011DK:          LA    R4,300         ACTUAL FILLER LENGTH                      01891000
       HRC011DK: FILL3350 STH   R4,0(0,R5)     MODIFY FILLER CCW                         01892000
       HRC011DK:          LA    R5,16(R5)      UPDATE FILLER CCW ADDRESS                 01893000
       HRC011DK:          BCT   R7,FILL3350    PROCESS ALL FILLER CCWS         @V304498  01894000
       HRC011DK:          SPACE ,                                                        01895000
       HRC011DK:          MVI   REC4+3,RECN0   CHANGE HEAD 1 TO HEAD 0                   01896000
       HRC011DK:          MVI   RECX4+3,RECN0  CHANGE HEAD 1 TO HEAD 0                   01897000
       HRC011DK:          MVI   REC7+3,RECN1   CHANGE HEAD 2 TO HEAD 1                   01898000
       HRC011DK:          MVI   RECX7+3,RECN1  CHANGE HEAD 2 TO HEAD 1                   01899000
       HRC011DK:          MVI   REC8+3,RECN1   CHANGE HEAD 2 TO HEAD 1                   01900000
       HRC011DK:          MVI   RECX8+3,RECN1  CHANGE HEAD 2 TO HEAD 1                   01901000
       HRC011DK:          MVI   REC10+3,RECN2  CHANGE HEAD 3 TO HEAD 2                   01902000
       HRC011DK:          MVI   RECX10+3,RECN2 CHANGE HEAD 3 TO HEAD 2                   01903000
       HRC011DK:          MVI   REC11+3,RECN2  CHANGE HEAD 3 TO HEAD 2                   01904000
       HRC011DK:          MVI   RECX11+3,RECN2 CHANGE HEAD 3 TO HEAD 2                   01905000
       HRC011DK:          MVI   REC12+3,RECN2  CHANGE HEAD 3 TO HEAD 2                   01906000
       HRC011DK:          B     GOA2           INITIALIZE SEEK FIELDS                    01907000
       HRC011DK:          SPACE ,                                                        01908000
       HRC011DK: *---------------------------------------------------------------------- 01909000
       HRC011DK: *        3340:  HEAD INITIALIZATION.                                    01910000
       HRC011DK: *                                                                       01911000
       HRC011DK: *        THERE ARE NO FILLER RECORDS.  FOR A 3340, THERE WILL BE 2      01912000
       HRC011DK: *        RECORDS PER HEAD AND 6 HEADS PER CYLINDER.                     01913000
       HRC011DK: *---------------------------------------------------------------------- 01914000
       HRC011DK:          SPACE ,                                                        01915000
       HRC011DK: GOTST40  EQU   *                                                        01916000
       HRC011DK:          CLI   TYPE,X'40'     3340 DEVICE TYPE ?                        01917000
       HRC011DK:          BNE   GOTST80        NO, BYPASS FILLER MODIFICATIONS           01918000
       HRC011DK:          MVI   REC3+3,X'01'   CHANGE HEAD 0 TO HEAD 1                   01919000
       HRC011DK:          MVI   REC4+3,X'01'   CHANGE HEAD 1 TO HEAD 1                   01920000
       HRC011DK:          MVI   REC5+3,X'02'   CHANGE HEAD 1 TO HEAD 2                   01921000
       HRC011DK:          MVI   REC6+3,X'02'   CHANGE HEAD 1 TO HEAD 2                   01922000
       HRC011DK:          MVI   REC7+3,X'03'   CHANGE HEAD 2 TO HEAD 3                   01923000
       HRC011DK:          MVI   REC8+3,X'03'   CHANGE HEAD 2 TO HEAD 3                   01924000
       HRC011DK:          MVI   REC9+3,X'04'   CHANGE HEAD 2 TO HEAD 4                   01925000
       HRC011DK:          MVI   REC10+3,X'04'  CHANGE HEAD 3 TO HEAD 4                   01926000
       HRC011DK:          MVI   REC11+3,X'05'  CHANGE HEAD 3 TO HEAD 5                   01927000
       HRC011DK:          MVI   REC12+3,X'05'  CHANGE HEAD 3 TO HEAD 5                   01928000
       HRC011DK:          B     GOA2           GO INITIALIZE SEEK FIELDS                 01929000
       HRC011DK:          SPACE ,                                                        01930000
       HRC011DK: *---------------------------------------------------------------------- 01931000
       HRC011DK: *        3380:  HEAD INITIALIZATION.                                    01932000
       HRC011DK: *                                                                       01933000
       HRC011DK: *        THERE ARE NO FILLER RECORDS.  FOR A 3380 THERE WILL BE 10      01934000
       HRC011DK: *        RECORDS PER HEAD AND 3 HEADS PER CYLINDER.                     01935000
       HRC011DK: *---------------------------------------------------------------------- 01936000
       HRC011DK:          SPACE ,                                                        01937000
       HRC011DK: GOTST80  EQU   *                                                        01938000
       HRC011DK:          CLI   TYPE,TYP3380   3380 DEVICE TYPE?                         01939000
       HRC011DK:          BNE   GOA2           NO, BYPASS HEAD MODIFICATIONS             01940000
       HRC011DK:          MVI   REC4+3,RECN0   CHANGE HEAD 1 TO HEAD 0                   01941000
       HRC011DK:          MVI   REC5+3,RECN0   CHANGE HEAD 1 TO HEAD 0                   01942000
       HRC011DK:          MVI   REC6+3,RECN0   CHANGE HEAD 1 TO HEAD 0                   01943000
       HRC011DK:          MVI   REC7+3,RECN0   CHANGE HEAD 2 TO HEAD 0                   01944000
       HRC011DK:          MVI   REC8+3,RECN0   CHANGE HEAD 2 TO HEAD 0                   01945000
       HRC011DK:          MVI   REC9+3,RECN0   CHANGE HEAD 2 TO HEAD 0                   01946000
       HRC011DK:          MVI   REC10+3,RECN0  CHANGE HEAD 3 TO HEAD 0                   01947000
       HRC011DK:          MVI   REC11+3,RECN1  CHANGE HEAD 3 TO HEAD 0                   01948000
       HRC011DK:          MVI   REC12+3,RECN1  CHANGE HEAD 3 TO HEAD 0                   01949000
       HRC011DK:          SPACE ,                                                        01950000
       HRC011DK: *---------------------------------------------------------------------- 01951000
       HRC011DK: *        LOAD THE NUMBER OF SEEK FIELDS FOR A PARTICULAR DASD DEVICE.   01952000
       HRC011DK: *        R4 IS THE BEGINNING SEEK ADDRESS FOR THE CURRENT CYLINDER.     01953000
       HRC011DK: *        INSERT THE CORRECT CYLINDER INTO EACH SEEK FIELD.              01954000
       HRC011DK: *---------------------------------------------------------------------- 01955000
       HRC011DK:          SPACE ,                                                        01956000
       HRC011DK: GOA2     MVC   R1STUF(96),RNSTUF RESTORE 2314 RECORD FIELDS             01957000
       HRC011DK:          XC    R0STUF,R0STUF  CLEAR FIELD                               01958000
       HRC011DK:          SR    R7,R7          THIS MEANS: LOOK FOR PLAIN DEVICE         01959000
       HRC011DK: *                             DATA, WITHOUT SPECIAL                     01960000
       HRC011DK:          BAL   R14,DFOADSET   SET ADDRESS TO FIND DEVICE/FORMAT         01961000
       HRC011DK: *                             DATA FOR THIS DEVICE TYPE                 01962000
       HRC011DK:          USING DFODATA,R6     ON RETURN R6 POINTS TO ENTRY              01963000
       HRC011DK: *                             DEVICE/FORMAT TABLE                       01964000
       HRC011DK:          LH    R7,DFOTRPAS    TRACKS PER PASS COUNT AS LOOP CNT         01965000
       HRC011DK:          LH    R4,BEGIN       GET BEGINNING OR NEW CYL TO SEEK          01966000
       HRC011DK:          STH   R4,SEEK0+2     BEGINNING CYLINDER INTO SEEK0             01967000
       HRC011DK:          LA    R5,SEEKA+2     GET CCHH FIELD ADDRESS                    01968000
       HRC011DK:          SPACE ,                                                        01969000
       HRC011DK: STORE    EQU   *                                                        01970000
       HRC011DK:          STH   R4,0(R5)       MOVE CYL INTO NEXT SEEK DATA              01971000
       HRC011DK:          LA    R5,NXTSEEK(,R5) BUMP TO NEXT SEEK DATA FIELD             01972000
       HRC011DK:          BCT   R7,STORE       LOOP MAX# OF SEEK DATA TO BE              01973000
       HRC011DK: *                             UPDATED IN R7                             01974000
       HRC011DK:          SPACE ,                                                        01975000
       HRC011DK: *---------------------------------------------------------------------- 01976000
       HRC011DK: *        INSERT THE PROPER CYLINDER NUMBER INTO THE RECORD DATA AREA.   01977000
       HRC011DK: *---------------------------------------------------------------------- 01978000
       HRC011DK:          SPACE ,                                                        01979000
       HRC011DK:          L     R5,DFO1REC     POINT TO FIRST CCW DATA TO BE UPD         01980000
       HRC011DK:          LH    R7,DFONRECS    LOOP CNT. # OF CCW DATA TO BE UPD         01981000
       HRC011DK:          MVC   CAW,DFOCAW     GET PROPER CAW                            01982000
       HRC011DK:          SPACE ,                                                        01983000
       HRC011DK: STR      EQU   *                                                        01984000
       HRC011DK:          STH   R4,0(,R5)      MOVE CYLINDER INTO RECORD DATA            01985000
       HRC011DK:          LA    R5,NXTREC(,R5) POINT TO NEXT RECORD'S CYL.PART           01986000
       HRC011DK:          BCT   R7,STR         GO THRU AS SPECIFIED FOR DEVICE           01987000
       HRC011DK:          DROP  R6                                                       01988000
       HRC011DK:          SPACE ,                                                        01989000
       HRC011DK: *---------------------------------------------------------------------- 01990000
       HRC011DK: *        THE CAW IS NOW SET CORRECTLY.  GO TO THE COMMON ROUTINE TO     01991000
       HRC011DK: *        START THE ACTUAL FORMATTING.                                   01992000
       HRC011DK: *---------------------------------------------------------------------- 01993000
       HRC011DK:          SPACE ,                                                        01994000
       HRC011DK: SETUPIO  DS    0H                                                       01995000
       HRC011DK:          LH    R5,DSKADD      R5 CONTAINS DEVICE ADDRESS                01996000
       HRC011DK:          B     STIO           START DEVICE                              01997000
       HRC011DK: *.3******************************************************************** 01998000
       HRC011DK: *                                                                       01999000
       HRC011DK: * OPERATION -                                                           02000000
       HRC011DK: *                                                                       02001000
       HRC011DK: * Q. RESUME CKD FORMATTING FOLLOWING INTERRUPT RESOLUTION               02002000
       HRC011DK: *                                                                       02003000
       HRC011DK: *        COME HERE FROM IOINT (OP DD) TO RESUME FORMATTING AFTER A      02004000
       HRC011DK: *        DASD INTERRUPT (CE+DE) HAS BEEN ACCEPTED.  SINCE WE HAVE A     02005000
       HRC011DK: *        CLEAN STATUS, WE CAN CONTINUE HERE WITH EITHER UPDATING THE    02006000
       HRC011DK: *        SEEKS OR ADVANCING TO A NEW CYLINDER.                          02007000
       HRC011DK: *                                                                       02008000
       HRC011DK: *        1. IF LAST RECORD ON THIS CYLINDER WAS ALREADY WRITTEN,        02009000
       HRC011DK: *           THEN GO TO OP R TO ADVANCE TO THE NEXT CYLINDER.  ELSE,     02010000
       HRC011DK: *           GO TO STEP 2 TO UPDATE SEEK DATA AND HEADS.                 02011000
       HRC011DK: *        2. UPDATE HEAD NUMBERS IN SEEK CCWS.                           02012000
       HRC011DK: *        3. UPDATE DATA RECORD NUMBERS IN CCWS.                         02013000
       HRC011DK: *        4. FOR A 3380, UPDATE THE FILLER RECORDS.                      02014000
       HRC011DK: *        5. CONTINUE FORMATTING.                                        02015000
       HRC011DK: *                                                                       02016000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02017000
       HRC011DK: *                                                                       02018000
       HRC011DK: *        R4  - SEEK CCHH                                                02019000
       HRC011DK: *        R5  - WORK                                                     02020000
       HRC011DK: *        R6  - DFODATA ADDRESSABILITY                                   02021000
       HRC011DK: *        R7  - WORK                                                     02022000
       HRC011DK: *        R14 - LINKAGE                                                  02023000
       HRC011DK: *                                                                       02024000
       HRC011DK: *.&******************************************************************** 02025000
       HRC011DK:          SPACE ,                                                        02026000
       HRC011DK: *---------------------------------------------------------------------- 02027000
       HRC011DK: *        2314:  IF LAST RECORD ON THIS CYLINDER WRITTEN, GO TO NEWCYL.  02028000
       HRC011DK: *        ELSE, UPDATE SEEK DATA AND HEADS.                              02029000
       HRC011DK: *---------------------------------------------------------------------- 02030000
       HRC011DK:          SPACE ,                                                        02031000
       HRC011DK: RESUMP   EQU   *                                                        02032000
       HRC011DK:          CLI   TYPE,TYP2314   IS IT 2314 ?                              02033000
       HRC011DK:          BNE   RESUMP05       NO, GO CHECK FOR OTHER DEVICES            02034000
       HRC011DK:          CLC   R8STUF+D4(L1),RECVALUE LAST RECORD ON THIS CYL           02035000
       HRC011DK: *                             WRITTEN?                                  02036000
       HRC011DK:          BE    NEWCYL         YES, GO FOR NEW CYLINDER                  02037000
       HRC011DK:          B     MAIN2          GO FOR UPDATE SEEK DATA + HEADS           02038000
       HRC011DK:          SPACE ,                                                        02039000
       HRC011DK: *---------------------------------------------------------------------- 02040000
       HRC011DK: *        3380:  IF LAST RECORD ON THIS CYLINDER WRITTEN, GO TO NEWCYL.  02041000
       HRC011DK: *        ELSE, UPDATE SEEK DATA AND HEADS.                              02042000
       HRC011DK: *---------------------------------------------------------------------- 02043000
       HRC011DK:          SPACE ,                                                        02044000
       HRC011DK: RESUMP05 EQU   *                                                        02045000
       HRC011DK:          CLI   TYPE,TYP3380   IS IT 3380?                               02046000
       HRC011DK:          BNE   RECONT         NO, BRANCH                                02047000
       HRC011DK:          CLC   REC30+D4(L1),RECVALUE LAST RECORD ON THIS CYL            02048000
       HRC011DK: *                             WRITTEN?                                  02049000
       HRC011DK:          BE    NEWCYL         YES, NEW CYLINDER                         02050000
       HRC011DK:          B     MAIN2          NO, BRANCH                                02051000
       HRC011DK: *---------------------------------------------------------------------- 02052000
       HRC011DK: *        NORMAL CKD:  WE WRITE 12 RECORDS AT A TIME.  IF LAST RECORD    02053000
       HRC011DK: *        WAS WRITTEN FROM CYLINDER, GO TO NEXT CYLINDER.  ELSE, GET     02054000
       HRC011DK: *        SEEK FIELDS AND UPDATE HEAD AND RECORD NUMBERS.                02055000
       HRC011DK: *---------------------------------------------------------------------- 02056000
       HRC011DK:          SPACE ,                                                        02057000
       HRC011DK: RECONT   EQU   *                                                        02058000
       HRC011DK:          OI    BFORWR57+4,CC  RESTORE CMD CHAINING IN CCW               02059000
       HRC011DK: *                             IT MAY HAVE BEEN ALTERED                  02060000
       HRC011DK:          MVC   WR57(8),OFF57WRT WRITE 12REC AT A TIME                   02061000
       HRC011DK:          MVC   RD57(8),OFF57RD  DO NORMAL READ CKD IN CCW               02062000
       HRC011DK:          CLC   REC12+4(1),RECVALUE WAS LAST RECORD WRITTEN?             02063000
       HRC011DK:          BE    NEWCYL         YES,BRANCH                                02064000
       HRC011DK:          CLI   TYPE,TYP3330   3330 DEVICE ?                             02065000
       HRC011DK:          BNE   MAIN2          NO, BYPASS 3330 REC 57 TRK CHANGE         02066000
       HRC011DK:          CLI   REC12+4,X'30'  DID I JUST WRITE 48TH REC.                02067000
       HRC011DK:          BNE   MAIN2          NO,BRANCH                                 02068000
       HRC011DK:          MVC   WR57(8),ON57WRT DO NOT WRITE REC 58 TO 60                02069000
       HRC011DK:          MVC   RD57(8),ON57RD  ALTER NOT TO READ CK 58 TO 60            02070000
       HRC011DK:          SPACE ,                                                        02071000
       HRC011DK: *---------------------------------------------------------------------- 02072000
       HRC011DK: *        FOR 3330 DASD, PRIOR TO WRITING RECORDS 49-57, ALTER CCW       02073000
       HRC011DK: *        CHAINING TO WRITE VERIFICATION PROGRAM TO REFLECT USER         02074000
       HRC011DK: *        REQUIREMENTS                                                   02075000
       HRC011DK: *---------------------------------------------------------------------- 02076000
       HRC011DK:          SPACE ,                                                        02077000
       HRC011DK:          MVC   BFORWR57+4(1),EWT3330+4 ALTER CC BIT                     02078000
       HRC011DK:          SPACE ,                                                        02079000
       HRC011DK: *---------------------------------------------------------------------- 02080000
       HRC011DK: *        UPDATE HEAD NUMBERS IN SEEK CCWS.                              02081000
       HRC011DK: *---------------------------------------------------------------------- 02082000
       HRC011DK:          SPACE ,                                                        02083000
       HRC011DK: MAIN2    EQU   *                                                        02084000
       HRC011DK:          XC    ERCOUNT,ERCOUNT CLEAR                                    02085000
       HRC011DK:          SR    R7,R7          THIS MEANS: LOOK FOR PLAIN DEVICE         02086000
       HRC011DK: *                             DATA, WITHOUT SPECIAL                     02087000
       HRC011DK:          BAL   R14,DFOADSET   SET ADDRESS TO FIND DEVICE/FORMAT         02088000
       HRC011DK: *                             DATA FOR THIS DEVICE TYPE                 02089000
       HRC011DK:          USING DFODATA,R6     ON RETURN R6 POINTS TO                    02090000
       HRC011DK: *                             ... DEVICE/FORMAT DATA ENTRY              02091000
       HRC011DK:          LH    R7,DFOTRPAS    TRACKS PER PASS COUNT AS LOOP CNT         02092000
       HRC011DK:          LA    R4,SEEKA+D2    POINT TO CCHH OF 1ST SEEK                 02093000
       HRC011DK:          SPACE ,                                                        02094000
       HRC011DK: HDUPDATE EQU   *                                                        02095000
       HRC011DK:          LH    R5,D2(,R4)     GET HH PORTION OF SEEK DATA               02096000
       HRC011DK:          AH    R5,DFOTRPAS    INCREASE BY # OF TRACKS PER PASS          02097000
       HRC011DK:          STH   R5,D2(,R4)     PUT HEAD NUMBER ONLY                      02098000
       HRC011DK:          LA    R4,NXTSEEK(,R4) POINT TO NEXT SEEK CCHH PORTION          02099000
       HRC011DK:          BCT   R7,HDUPDATE    LOOP UNTIL ALL HEADS ARE UPDATED          02100000
       HRC011DK:          DROP  R6                                                       02101000
       HRC011DK:          SPACE ,                                                        02102000
       HRC011DK: *---------------------------------------------------------------------- 02103000
       HRC011DK: *        UPDATE DATA RECORD NUMBERS IN CCWS.                            02104000
       HRC011DK: *---------------------------------------------------------------------- 02105000
       HRC011DK:          SPACE ,                                                        02106000
       HRC011DK:          BAL   R14,UPHDREC    GO UPDATE CCW DATA RECORD NUMBERS         02107000
       HRC011DK:          USING DFODATA,R6     ON RETURN R6 POINTS TO ENTRY              02108000
       HRC011DK: *                             IN DEVICE/FORMAT TABLE                    02109000
       HRC011DK:          MVC   CAW,DFOCAW     SET CORRECT CAW                           02110000
       HRC011DK:          DROP  R6                                                       02111000
       HRC011DK:          SPACE ,                                                        02112000
       HRC011DK: *---------------------------------------------------------------------- 02113000
       HRC011DK: *        FOR A 3380, UPDATE THE FILLER RECORDS.  IN ANY CASE, GO BACK   02114000
       HRC011DK: *        UP TO SETUPIO TO CONTINUE FORMATTING.                          02115000
       HRC011DK: *---------------------------------------------------------------------- 02116000
       HRC011DK:          SPACE ,                                                        02117000
       HRC011DK:          CLI   TYPE,TYP3380   IS THIS 3380 DEVICE ...                   02118000
       HRC011DK:          BNE   SETUPIO        NO, PREPARE THE IO                        02119000
       HRC011DK:          LA    R7,DFOTBSPE    THIS MEANS: LOOK FOR SPECIAL              02120000
       HRC011DK: *                             ENTRY IN DEVICE/FORMAT TABLE TO           02121000
       HRC011DK: *                             UPDATE FILLER RECORDS FOR 3380            02122000
       HRC011DK:          BAL   R14,DFOADSET   SET ADDRESS TO FIND DEVICE/FORMAT         02123000
       HRC011DK: *                             DATA FOR THIS DEVICE TYPE                 02124000
       HRC011DK:          BAL   R14,UPHDREC    GO UPDATE FILLER RECORDS                  02125000
       HRC011DK:          B     SETUPIO        GO PREPARE THE IO                         02126000
       HRC011DK: *.3******************************************************************** 02127000
       HRC011DK: *                                                                       02128000
       HRC011DK: * OPERATION -                                                           02129000
       HRC011DK: *                                                                       02130000
       HRC011DK: * R. CKD FORMAT - ADVANCE TO NEXT CYLINDER / WRITE SPECIAL SYSTEM       02131000
       HRC011DK: *                 RECORDS ON CYLINDER 0                                 02132000
       HRC011DK: *                                                                       02133000
       HRC011DK: *        1. IF AT THE LAST CYLINDER IN THE EXTENT, GO TO CLEANUP AT     02134000
       HRC011DK: *           OP V.  ELSE, INCREASE CYLINDER NUMBER BY 1 AND GO BACK TO   02135000
       HRC011DK: *           OP P.                                                       02136000
       HRC011DK: *        2. CHECK CYLINDER 0 FOR ERRORS.  IF THERE ARE NO ERRORS, THEN  02137000
       HRC011DK: *           WRITE SPECIAL SYSTEM RECORDS.  THIS IS DONE ONLY ONCE FOR   02138000
       HRC011DK: *           CYLINDER 0.                                                 02139000
       HRC011DK: *                                                                       02140000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02141000
       HRC011DK: *                                                                       02142000
       HRC011DK: *        R1  - WORK                                                     02143000
       HRC011DK: *        R4  - WORK                                                     02144000
       HRC011DK: *        R6  - DFODATA TABLE ADDRESS                                    02145000
       HRC011DK: *        R7  - LINKAGE                                                  02146000
       HRC011DK: *        R9  - CHANNEL PROGRAM ADDRESS                                  02147000
       HRC011DK: *        R14 - LINKAGE                                                  02148000
       HRC011DK: *                                                                       02149000
       HRC011DK: *.&******************************************************************** 02150000
       HRC011DK:          SPACE ,                                                        02151000
       HRC011DK: *---------------------------------------------------------------------- 02152000
       HRC011DK: *        FOR FIRST TIME THROUGH FOR CYLINDER 0, GO CHECK CYLINDER 0     02153000
       HRC011DK: *        FOR ERRORS AND NO-OP THE BRANCH TO CHECK0 FOR THE FUTURE.      02154000
       HRC011DK: *        IF WE ARE ON THE LAST CYLINDER IN EXTENT, THEN GO TO CLEANUP.  02155000
       HRC011DK: *        OTHERWISE, INCREASE CYLINDER NUMBER BY 1 AND GO ADJUST SEEKS   02156000
       HRC011DK: *        TO NEXT CYLINDER.                                              02157000
       HRC011DK: *---------------------------------------------------------------------- 02158000
       HRC011DK:          SPACE ,                                                        02159000
       HRC011DK: NEWCYL   CLC   SEEKA+2(2),=X'0000' IS IT CYLINDER 0                     02160000
       HRC011DK: ONETIME  BE    CHECK0         YES,BRANCH AND NOP THIS BRANCH            02161000
       HRC011DK:          CLC   SEEKA+2(2),ENDING IS IT THE LAST CYLINDER?               02162000
       HRC011DK:          BE    CLEANUP        YES,BRANCH                                02163000
       HRC011DK:          SR    R4,R4          CLEAR R4                                  02164000
       HRC011DK:          LH    R4,SEEKA+2     PUT CYL NUMBER INTO R4                    02165000
       HRC011DK:          LA    R4,1(R4)       INCREASE CYL BY 1                         02166000
       HRC011DK:          STH   R4,BEGIN       SAVE NEW STARTING CYLINDER                02167000
       HRC011DK:          B     GOA1           GO SEEK NEXT CYLINDER                     02168000
       HRC011DK:          SPACE ,                                                        02169000
       HRC011DK: *---------------------------------------------------------------------- 02170000
       HRC011DK: *        CHECK CYLINDER 0 FOR ERRORS.  IF THERE ARE NO ERRORS, WRITE    02171000
       HRC011DK: *        SPECIAL SYSTEM RECORDS.                                        02172000
       HRC011DK: *---------------------------------------------------------------------- 02173000
       HRC011DK:          SPACE ,                                                        02174000
       HRC011DK: CHECK0   MVI   ONETIME+1,X'00' NOP BRANCH AT ONETIME                    02175000
       HRC011DK:          BAL   R1,*+4         R1 POINTS TO NEXT INSTRUCTION             02176000
       HRC011DK:          CLI   TYPE,TYP3350   IS DEVICE A 3350 ?                        02177000
       HRC011DK:          BE    CYL03350       YES, TEST FOR ERR REC CYL0 HD0            02178000
       HRC011DK:          CLI   TYPE,TYP3380   IS THIS 3380 ?                            02179000
       HRC011DK:          BE    CYL03380       YES, GO CHECK ERROR RECORD                02180000
       HRC011DK:          TM    R0STUF,X'E0'   ERR IN REC 1,2,3 ON CYL0 HD0              02181000
       HRC011DK:          SPACE ,                                                        02182000
       HRC011DK: *---------------------------------------------------------------------- 02183000
       HRC011DK: *        FOR ERROR(S) FOUND ON CYLINDER 0, HEAD 0, GET SENSE INFO AND   02184000
       HRC011DK: *        WRITE MESSAGE ON CONSOLE.                                      02185000
       HRC011DK: *---------------------------------------------------------------------- 02186000
       HRC011DK:          SPACE ,                                                        02187000
       HRC011DK: CHECK5   EQU   *                                                        02188000
       HRC011DK:          BZ    OKCYL0         NO - CONTINUE                             02189000
       HRC011DK:          BAL   R7,SENSIT      YES - GET SENSE INFO.                     02190000
       HRC011DK:          BAL   R7,SENSIT2     PRINT SENSE, CCHHR FOR HIM                02191000
       HRC011DK:          B     FATAL          AND TELL HIM THE CONDITION'S              02192000
       HRC011DK: *                             FATAL                                     02193000
       HRC011DK:          SPACE ,                                                        02194000
       HRC011DK: *---------------------------------------------------------------------- 02195000
       HRC011DK: *        TEST ERROR RECORDS ON CYLINDER 0, HEAD 0.                      02196000
       HRC011DK: *---------------------------------------------------------------------- 02197000
       HRC011DK:          SPACE ,                                                        02198000
       HRC011DK: CYL03350 TM    R0STUF,X'F0'   TEST ERR REC 1,2,3,4 ON CYL0 HD0          02199000
       HRC011DK:          B     CHECK5         CONTINUE CYL0 HD0 ERROR TEST              02200000
       HRC011DK: CYL03380 EQU   *                                                        02201000
       HRC011DK:          TM    R0STUF,ERBT3380 TEST ERR REC1 THRU 6                     02202000
       HRC011DK:          B     CHECK5         CONTINUE CYL0 HD0 ERROR TEST              02203000
       HRC011DK:          SPACE ,                                                        02204000
       HRC011DK: *---------------------------------------------------------------------- 02205000
       HRC011DK: *        CYLINDER 0 IS ERROR FREE.  PREPARE TO WRITE SPECIAL SYSTEM     02206000
       HRC011DK: *        RECORDS ON IT.  INDICATE THAT THE RECORDS ARE "IN USE".        02207000
       HRC011DK: *---------------------------------------------------------------------- 02208000
       HRC011DK:          SPACE ,                                                        02209000
       HRC011DK: OKCYL0   EQU   *                                                        02210000
       HRC011DK:          MVI   R0STUF,ERBT3380 MARK RECS 1 THRU 6 IN USE                02211000
       HRC011DK:          CLI   TYPE,TYP3380   IS THIS 3380 ?                            02212000
       HRC011DK:          BE    CYL0CONT       YES, BRANCH                               02213000
       HRC011DK:          MVI   R0STUF,X'E0'   SET REC 1,2,3 IN USE                      02214000
       HRC011DK:          CLI   TYPE,TYP3350   IS DEVICE A 3350 ?                        02215000
       HRC011DK:          BNE   CYL0CONT       NO, CONTINUE CYL0 PROCESSING              02216000
       HRC011DK:          MVI   R0STUF,X'F0'   SET REC 1,2,3,4 IN USE                    02217000
       HRC011DK:          SPACE ,                                                        02218000
       HRC011DK: *---------------------------------------------------------------------- 02219000
       HRC011DK: *        SPEC2314 PROGRAM WRITES SPECIAL SYSTEM RECORDS FOR 2314.       02220000
       HRC011DK: *        SPEC3330 PROGRAM WRITES SPECIAL SYSTEM RECORDS FOR OTHER       02221000
       HRC011DK: *           NORMAL CKD DEVICES.                                         02222000
       HRC011DK: *---------------------------------------------------------------------- 02223000
       HRC011DK:          SPACE ,                                                        02224000
       HRC011DK: CYL0CONT EQU   *              WRITE CYL0 HD0 SYSTEM RECORDS             02225000
       HRC011DK:          L     R9,=A(R4COUNT) MOVE COUNT FIELD NEXT TO                  02226000
       HRC011DK:          MVC   0(L'R4COUNT,R9),R4ALLOC  ALLOC MAP BUFFER                02227000
       HRC011DK:          LA    R9,SPEC2314    R9 CONTAINS ADDRESS OF SPEC CCWS          02228000
       HRC011DK:          ST    R9,CAW         CAW CONTAINS ADDRESS OF CCWS              02229000
       HRC011DK:          CLI   TYPE,X'14'     IS IT 2314?                               02230000
       HRC011DK:          BE    MAIN4          YES, BRANCH                               02231000
       HRC011DK:          MVC   CAW(4),=A(SPEC3330) SET CAW FOR CYL 0 TK 0 CCWS          02232000
       HRC011DK:          CLI   TYPE,TYP3380   IS THIS 3380 ?                            02233000
       HRC011DK:          MVC   NOP3340,TIC3380 MOVE IN 3380 SPECIAL WRITES              02234000
       HRC011DK:          BE    MAIN4          YES, CONTINUE                             02235000
       HRC011DK:          MVC   NOP3340,WRT3340 MOVE BACK ORIGINAL CCW                   02236000
       HRC011DK:          CLI   TYPE,TYP334X   3340-35 OR 3340-70 DEVICE?                02237000
       HRC011DK:          BNE   MAIN4          BRANCH IF NOT                             02238000
       HRC011DK:          MVI   NOP3340,X'03'  SET RF3 CCW OP-CODE TO NOP                02239000
       HRC011DK:          SPACE ,                                                        02240000
       HRC011DK: MAIN4    MVI   SEEKA+5,X'00'  SET TO SEEK HEAD 0                        02241000
       HRC011DK:          MVI   SEEKB+5,X'01'  SET TO SEEK HEAD 1                        02242000
       HRC011DK:          LH    R5,DSKADD      DEVICE ADDRESS INTO R5                    02243000
       HRC011DK:          B     STIO           START DEVICE                              02244000
       HRC011DK: *.3******************************************************************** 02245000
       HRC011DK: *                                                                       02246000
       HRC011DK: * OPERATION -                                                           02247000
       HRC011DK: *                                                                       02248000
       HRC011DK: * U.  COME HERE TO WRITE AND VERIFY PAGE SIZE RECORDS                   02249000
       HRC011DK: *                                                                       02250000
       HRC011DK: *        1. BEGIN THE FORMATTING.  IF NON-ZERO CC FROM SIO, RETRY 100   02251000
       HRC011DK: *           TIMES.  FOR CC=0 FROM SIO, GO TO STEP 3.                    02252000
       HRC011DK: *        2. IF STILL NON-ZERO CC AFTER 100 TRIES, THEN OBTAIN THE       02253000
       HRC011DK: *           SENSE INFORMATION IF WE DO NOT ALREADY HAVE IT.             02254000
       HRC011DK: *        3. CALL SENSIT2 TO ISSUE THE ERROR MESSAGE TO THE USER GIVING  02255000
       HRC011DK: *           THE CCHHR AND THE SENSE DATA.                               02256000
       HRC011DK: *        4. LOAD A WAIT STATE AND WAIT FOR CE+DE FROM DEVICE.           02257000
       HRC011DK: *                                                                       02258000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02259000
       HRC011DK: *                                                                       02260000
       HRC011DK: *        R7  - WORK                                                     02261000
       HRC011DK: *        R14 - LINKAGE                                                  02262000
       HRC011DK: *                                                                       02263000
       HRC011DK: *.$******************************************************************** 02264000
       HRC011DK:          SPACE ,                                                        02265000
       HRC011DK: *---------------------------------------------------------------------- 02266000
       HRC011DK: *        GO START THE CHANNEL PROGRAM FORMATTING THE DEVICE.  IF WE     02267000
       HRC011DK: *        RECEIVE CC0 FROM SIO, THEN WE STARTED OK SO LOAD A WAIT STATE  02268000
       HRC011DK: *        AT XWAIT AND WAIT FOR CE+DE.  FOR A CC3, ISSUE 'DEV XXX NOT    02269000
       HRC011DK: *        OPERATIONAL OR NOT READY' TO USER.  FOR BUSY CC2, RETRY 100    02270000
       HRC011DK: *        TIMES BEFORE ISSUING THE 'NOT OPERATIONAL' MESSAGE.            02271000
       HRC011DK: *        FOR CC1, AFTER RE-ISSUING SIO FOR 100 TIMES, CHECK THE CSW     02272000
       HRC011DK: *        STATUS AT RDCERR.                                              02273000
       HRC011DK: *---------------------------------------------------------------------- 02274000
       HRC011DK: STIO     MVC   CCHHR(5),FFS8  PUT F'S IN HEADER.                        02275000
       HRC011DK: STIO2    LA    R7,100         ERROR RETRY COUNT.                        02276000
       HRC011DK: START    BAL   R14,STRTIO1    GO START THE DEVICE                       02277000
       HRC011DK:          BC    8,XWAIT        IF STARTED OK GO WAIT                     02278000
       HRC011DK:          BC    1,TIOCC3       CC = 3, NOTIFY USER                       02279000
       HRC011DK:          BC    2,TIORT        BUSY                                      02280000
       HRC011DK:          TM    CSW+4,SM+BUSY  STATUS MODIFIER AND BUSY                  02281000
       HRC011DK:          BO    START          YES, RETRY                                02282000
       HRC011DK:          CLI   CSW+4,BUSY     DEVICE BUSY (RESERVED)                    02283000
       HRC011DK:          BE    START          LOOP UNTIL RELEASE                        02284000
       HRC011DK: TIORT    TIO   0(R5)          IF NO START CLEAR STATUS                  02285000
       HRC011DK:          BCT   R7,START       TRY A TOTAL OF 100 TIMES                  02286000
       HRC011DK:          BC    3,TIOCC3       SERIOUS PROBLEMS - LET HIM KNOW           02287000
       HRC011DK:          SPACE ,                                                        02288000
       HRC011DK: *---------------------------------------------------------------------- 02289000
       HRC011DK: *        FOR A UNIT CHECK, WE HAVE THE SENSE DATA.  ELSE, GET THE SENSE 02290000
       HRC011DK: *        DATA.  THEN ISSUE THE MESSAGE 'IO ERROR XXX CCHHR = XXXXXXXXXX 02291000
       HRC011DK: *        SENSE = XXXXXXXXXXXX' AND THEN GO TO FATAL.                    02292000
       HRC011DK: *---------------------------------------------------------------------- 02293000
       HRC011DK:          SPACE ,                                                        02294000
       HRC011DK: RDCERR   EQU   *                                                        02295000
       HRC011DK:          TM    CSW+4,UC       DID DEVICE HAVE UNIT CHECK                02296000
       HRC011DK:          BO    STARTER1       NO, ERROR SET UP MSG                      02297000
       HRC011DK:          XC    SENSE,SENSE    CLEAR SENSE AREA                          02298000
       HRC011DK:          XC    SENSTA(8),SENSTA CLEAR SENSE CSW                         02299000
       HRC011DK:          MVI   SENSTA+7,X'1A' INDICATE 6 SENSE BYTES                    02300000
       HRC011DK:          MVC   SAVEIT(20),IOOPSW SAVE CSW,CAW, AND IO OLD PSW           02301000
       HRC011DK:          B     STARTER2       GO SET UP BOTH ERROR MSG                  02302000
       HRC011DK: STARTER1 BAL   R7,SENSIT      GET SENSE DATA                            02303000
       HRC011DK: STARTER2 BAL   R7,SENSIT2     PRINT SENSE MESSAGE                       02304000
       HRC011DK:          B     FATAL          GO FATAL                                  02305000
       HRC011DK:          SPACE ,                                                        02306000
       HRC011DK: *---------------------------------------------------------------------- 02307000
       HRC011DK: *        FORMATTING STARTED -                                           02308000
       HRC011DK: *        LOAD THE WAIT PSW AND WAIT FOR A DEVICE INTERRUPT.             02309000
       HRC011DK: *---------------------------------------------------------------------- 02310000
       HRC011DK:          SPACE ,                                                        02311000
       HRC011DK:          CNOP  4,8                                                      02312000
       HRC011DK: XWAIT    LPSW  WAITCON                                                  02313000
       HRC011DK: WAITCON  DC    X'FE02'                                                  02314000
       HRC011DK:          SPACE ,                                                        02315000
       HRC011DK:          DC    A(255)                                                   02316000
       HRC011DK: *.3******************************************************************** 02317000
       HRC011DK: *                                                                       02318000
       HRC011DK: * OPERATION -                                                           02319000
       HRC011DK: *                                                                       02320000
       HRC011DK: * V. COME HERE AFTER FORMAT OPERATION IS COMPLETE.                      02321000
       HRC011DK: *                                                                       02322000
       HRC011DK: *        1. ISSUE 'FORMAT DONE'.                                        02323000
       HRC011DK: *        2. ISSUE MESSAGE INDICATING NUMBER OF PAGE ERROR RECORDS.      02324000
       HRC011DK: *        3. REPEAT PROMPTING FOR NEW FUNCTION TO PERFORM WHEN           02325000
       HRC011DK: *           USING CONSOLE AS INPUT OR READ NEXT FUNCTION FROM           02326000
       HRC011DK: *           THE IPL DEVICE.                                             02327000
       HRC011DK: *                                                                       02328000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02329000
       HRC011DK: *                                                                       02330000
       HRC011DK: *        R3  - PAGE COUNT                                               02331000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          02332000
       HRC011DK: *        R14 - LINKAGE                                                  02333000
       HRC011DK: *                                                                       02334000
       HRC011DK: *.$******************************************************************** 02335000
       HRC011DK:          SPACE ,                                                        02336000
       HRC011DK: *---------------------------------------------------------------------- 02337000
       HRC011DK: *        ISSUE 'FORMAT DONE' MESSAGE.                                   02338000
       HRC011DK: *---------------------------------------------------------------------- 02339000
       HRC011DK:          SPACE ,                                                        02340000
       HRC011DK: CLEANUP  LA    R4,ENDFOR               SET UP FOR END OF FORMAT MSG     02341000
       HRC011DK:          MVC   IONPSW(8),CONSIRA       SET UP NEW IO PSW                02342000
       HRC011DK:          BAL   R14,WMSG                WRITE MESSAGE                    02343000
       HRC011DK:          SPACE ,                                                        02344000
       HRC011DK: *---------------------------------------------------------------------- 02345000
       HRC011DK: *        IF WRITE VERIFICATION IS NOT OPTIONAL FOR THIS DEVICE          02346000
       HRC011DK: *        (ALWAYS PERFORMED) OR WRITE VERIFICATION IS OPTIONAL AND       02347000
       HRC011DK: *        WAS REQUESTED THEN GO GET ERROR PAGE COUNT AND PRINT;          02348000
       HRC011DK: *        OTHERWISE, GO DO SOME HOUSEKEEPING.                            02349000
       HRC011DK: *---------------------------------------------------------------------- 02350000
       HRC011DK:          SPACE ,                                                        02351000
       HRC011DK:          CLI   WVFLAGS,WVNOTOPT IF WRITE VERIF. NOT OPTIONAL            02352000
       HRC011DK:          BE    PRTPGCNT            THEN GO PRINT PAGE COUNT             02353000
       HRC011DK:          TM    WVFLAGS,WVREQ  IF WRITE VERIF. WAS REQUESTED             02354000
       HRC011DK:          BO    PRTPGCNT          THEN GO PRINT PAGE COUNT               02355000
       HRC011DK:          LA    R4,WVMSG3      GET WRITE VERIFICATION MSG # 3            02356000
       HRC011DK:          BAL   R14,WMSG          AND WRITE TO CONSOLE                   02357000
       HRC011DK:          L     R7,CCWCHNG     GET ADDRESS OF CHANGED CCW AND            02358000
       HRC011DK:          OI    4(R7),CC          RESET CC BIT                           02359000
       HRC011DK:          XC    CCWCHNG,CCWCHNG CLEAR CCWCHNG FIELD                      02360000
       HRC011DK:          B     ENDWVCLP       EXIT TO COMMON CODE                       02361000
       HRC011DK:          SPACE ,                                                        02362000
       HRC011DK: *---------------------------------------------------------------------- 02363000
       HRC011DK: *        ISSUE 'XXXX NO. PAGE RECORDS WITH READ-CHECK ERRORS' MESSAGE   02364000
       HRC011DK: *---------------------------------------------------------------------- 02365000
       HRC011DK:          SPACE ,                                                        02366000
       HRC011DK: PRTPGCNT DS    0H                                                       02367000
       HRC011DK:          L     R3,PGCOUNT              GET ERROR PAGE COUNT             02368000
       HRC011DK:          CVD   R3,FIELDA               CONVERT ERROR COUNT TO DECIMAL   02369000
       HRC011DK:          OI    FIELDA+7,X'0F'          MAKE GOOD SIGN                   02370000
       HRC011DK:          UNPK  FIELDB+8-CYLNUM(CYLNUM),FIELDA+5(3)                      02371000
       HRC011DK: *                                    UNPACK TO PRINTABLE CHAR.          02372000
       HRC011DK:          MVC   PAGE+1(CYLNUM),FIELDB+8-CYLNUM                           02373000
       HRC011DK: *                                    PUT ERROR COUNT INTO MSG.          02374000
       HRC011DK:          LA    R4,PAGE                 SET UP ERROR PAGE MSG            02375000
       HRC011DK:          BAL   R14,WMSG                WRITE MESSAGE                    02376000
       HRC011DK:          SPACE ,                                                        02377000
       HRC011DK: *---------------------------------------------------------------------- 02378000
       HRC011DK: *        GET NEW FUNCTION TO PERFORM.                                   02379000
       HRC011DK: *---------------------------------------------------------------------- 02380000
       HRC011DK:          SPACE ,                                                        02381000
       HRC011DK: ENDWVCLP DS    0H                                                       02382000
       HRC011DK:          B     GETCARD                 END FORMAT, BRANCH               02383000
       HRC011DK: *.3******************************************************************** 02384000
       HRC011DK: *                                                                       02385000
       HRC011DK: * OPERATION -                                                           02386000
       HRC011DK: *                                                                       02387000
       HRC011DK: * W. FATAL ERROR ENCOUNTERED                                            02388000
       HRC011DK: *                                                                       02389000
       HRC011DK: *        1. ISSUE THE ERROR MESSAGE 'FATAL DASD IO ERROR  CSW = XXXXXXX 02390000
       HRC011DK: *           XXXX'.  THEN RETURN TO BEGINNING.                           02391000
       HRC011DK: *                                                                       02392000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02393000
       HRC011DK: *                                                                       02394000
       HRC011DK: *        R4  - ADDRESS OF FATAL MESSAGE                                 02395000
       HRC011DK: *        R14 - LINKAGE                                                  02396000
       HRC011DK: *                                                                       02397000
       HRC011DK: *.&******************************************************************** 02398000
       HRC011DK:          SPACE ,                                                        02399000
       HRC011DK: FATAL    STM   R0,R15,PCREGS           SAVE R0 TO R15                   02400000
       HRC011DK:          MVC   SAVFATAL(20),IOOPSW     SAVE IOOLDPSW,CSW,CAW            02401000
       HRC011DK:          UNPK  WORK(9),SAVFATAL+8(5)   UNPACK THE CSW                   02402000
       HRC011DK:          UNPK  WORK+8(9),SAVFATAL+12(5) . . .                           02403000
       HRC011DK:          TR    WORK(16),TTAB-240       MAKE IT ALL READABLE             02404000
       HRC011DK:          MVC   FATLMSG+37(16),WORK     MOVE INTO MESSAGE                02405000
       HRC011DK:          LA    R4,FATLMSG              SET UP FATAL MSG                 02406000
       HRC011DK:          MVC   IONPSW(8),CONSIRA       SET UP NEW IO PSW                02407000
       HRC011DK:          BAL   R14,WMSG                WRITE MESSAGE                    02408000
       HRC011DK:          B     GETCARD                 YES,BRANCH                       02409000
       HRC011DK: *.3******************************************************************** 02410000
       HRC011DK: *                                                                       02411000
       HRC011DK: * OPERATION -                                                           02412000
       HRC011DK: *                                                                       02413000
       HRC011DK: * X. ALLOCATION ROUTINE                                                 02414000
       HRC011DK: *                                                                       02415000
       HRC011DK: *        CALLED FROM OP M AFTER VERIFYING THAT THE LABEL ENTERED BY THE 02416000
       HRC011DK: *        USER MATCHES THE REAL VOLUME LABEL.                            02417000
       HRC011DK: *                                                                       02418000
       HRC011DK: *        1. VERIFY THAT WE HAVE A CP-OWNED VOLUME.                      02419000
       HRC011DK: *        2. DISPLAY 'ENTER ALLOCATION DATA FOR VOLUME XXXXXX'.          02420000
       HRC011DK: *        3. ISSUE 'TYPE CYL CYL' AND GO TO OP Y.                        02421000
       HRC011DK: *                                                                       02422000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02423000
       HRC011DK: *                                                                       02424000
       HRC011DK: *        R3  - ALLOCATION TABLE ADDRESSABILITY                          02425000
       HRC011DK: *        R4  - WORK/MESSAGE ADDRESS                                     02426000
       HRC011DK: *        R5  - WORK/NUMBER OF ENTRIES IN MAP                            02427000
       HRC011DK: *        R14 - LINKAGE                                                  02428000
       HRC011DK: *                                                                       02429000
       HRC011DK: *.$******************************************************************** 02430000
       HRC011DK:          SPACE ,                                                        02431000
       HRC011DK: *---------------------------------------------------------------------- 02432000
       HRC011DK: *        VERIFY THAT LABEL IS 'CP370' FOR A CP-OWNED VOLUME.  IF THIS   02433000
       HRC011DK: *        IS NOT TRUE, PRINT "ALLOCATION FUNCTION NOT ALLOWED, FORMAT OF 02434000
       HRC011DK: *        VOLUME IS A PREREQUISITE".  RE-DISPLAY "FORMAT OR ALLOCATE"    02435000
       HRC011DK: *        MESSAGE AT LABEL SELECT.                                       02436000
       HRC011DK: *---------------------------------------------------------------------- 02437000
       HRC011DK:          SPACE ,                                                        02438000
       HRC011DK: ALLOCATE EQU   *                                                        02439000
       HRC011DK:          CLC   LCP370,CP370   VOLUME OWNED BY CP                        02440000
       HRC011DK:          BE    ALLOC1         YES, ALLOCATION ALLOWED                   02441000
       HRC011DK:          MVC   LCP370,CP370   RESTORE CP370 SINCE READ CCW              02442000
       HRC011DK:          LA    R4,MSG742      OVERLAID IT                               02443000
       HRC011DK:          BAL   R14,WMSG       INFORM USER                               02444000
       HRC011DK:          LA    R4,MSG742A     GET PREREQ FORMATTING MSG                 02445000
       HRC011DK:          BAL   R14,WMSG       AND WRITE IT                              02446000
       HRC011DK:          TM    CDSW2,X'FF'    IS CARD SWITCH ON                         02447000
       HRC011DK:          BO    BADINPUT       YES, PRINT CARD AND QUIT                  02448000
       HRC011DK:          B     SELECT         ELSE  BACK TO SELECT                      02449000
       HRC011DK:          SPACE ,                                                        02450000
       HRC011DK: *---------------------------------------------------------------------- 02451000
       HRC011DK: *        VERIFY LABEL AND WRITE MESSAGE INDICATING USER EXTENTS.        02452000
       HRC011DK: *        DISPLAY THE MESSAGE - 'ENTER ALLOCATION DATA FOR VOLUME XXXXX' 02453000
       HRC011DK: *---------------------------------------------------------------------- 02454000
       HRC011DK:          SPACE ,                                                        02455000
       HRC011DK: ALLOC1   DS    0H             ALLOCATION FUNCTION IS OK                 02456000
       HRC011DK:          MVC   DATAMSG1(6),CPLABEL PUT LABEL INTO MESSAGE               02457000
       HRC011DK:          MVC   ALLEND+19(6),CPLABEL PUT LABEL INTO CONSOLE MSG          02458000
       HRC011DK:          LA    R4,DATAMSG     SET UP DATA MSG                           02459000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             02460000
       HRC011DK:          SPACE ,                                                        02461000
       HRC011DK: *---------------------------------------------------------------------- 02462000
       HRC011DK: *        ISSUE 'TYPE CYL CYL'.                                          02463000
       HRC011DK: *---------------------------------------------------------------------- 02464000
       HRC011DK:          LA    R4,ALMSG       SET UP CYLINDER ALLOCATION MSG            02465000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             02466000
       HRC011DK: *.3******************************************************************** 02467000
       HRC011DK: *                                                                       02468000
       HRC011DK: * OPERATION -                                                           02469000
       HRC011DK: *                                                                       02470000
       HRC011DK: * Y. ALLOCATION ROUTINE COMMON CODE FOR FETCHING AND SETTING THE        02471000
       HRC011DK: *    TYPE OF ALLOCATION                                                 02472000
       HRC011DK: *                                                                       02473000
       HRC011DK: *    +----------------------------------------------------------------+ 02474000
       HRC011DK: *    |TYPE  BYTE      DESCRIPTION OF ALLOCATION TYPE                  | 02475000
       HRC011DK: *    +----------------------------------------------------------------+ 02476000
       HRC011DK: *    |TEMP   00    TEMP STORAGE SPACE RESERVED FOR SPOOLING/PAGING    | 02477000
       HRC011DK: *    |PERM   01    CP NUCLEUS, LOGOUT AREA, USER MINIDISKS            | 02478000
       HRC011DK: *    |TDSK   02    TEMPORARY MINIDISK SPACE FOR VIRTUAL MACHINE USERS | 02479000
       HRC011DK: *    |DRCT   04    RESERVED FOR DIRECTORY FILES                       | 02480000
       HRC011DK: *    |       0C    DIRECTORY SPACE IN USE BY DMKDIR                   | 02481000
       HRC011DK: *    |       FF    END OF ALLOCATION EXTENT MAP                       | 02482000
       HRC011DK: *    +----------------------------------------------------------------+ 02483000
       HRC011DK: *                                                                       02484000
       HRC011DK: *    1. READ THE ALLOCATION TYPE AND EXTENTS FROM CONSOLE OR CARD       02485000
       HRC011DK: *       INPUT.                                                          02486000
       HRC011DK: *    2. HANDLE CONSOLE INPUT.  CHECK THE FIRST FIELD FOR VALID TYPE.    02487000
       HRC011DK: *       AFTER GETTING TYPE, GO TO OP Z.                                 02488000
       HRC011DK: *    3. HANDLE CARD INPUT.  CHECK THE FIRST FIELD FOR VALID TYPE.       02489000
       HRC011DK: *       AFTER GETTING TYPE, GO TO OP Z.                                 02490000
       HRC011DK: *    4. CHECK FOR 'END' SPECIFIED (NO OTHER VALID TYPE FOUND).          02491000
       HRC011DK: *       IF 'END' FOUND, THEN GO TO OP BB TO WRITE ALLOCATION TABLE      02492000
       HRC011DK: *       TO DASD OR CONSOLE OR BOTH.                                     02493000
       HRC011DK: *    5. IF 'END' NOT FOUND, THEN ISSUE ERROR MESSAGE.                   02494000
       HRC011DK: *                                                                       02495000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02496000
       HRC011DK: *                                                                       02497000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          02498000
       HRC011DK: *        R14 - LINKAGE                                                  02499000
       HRC011DK: *                                                                       02500000
       HRC011DK: *.$******************************************************************** 02501000
       HRC011DK:          SPACE ,                                                        02502000
       HRC011DK: *---------------------------------------------------------------------- 02503000
       HRC011DK: *        READ THE ALLOCATION TYPE AND EXTENTS FROM CONSOLE OR CARD.     02504000
       HRC011DK: *---------------------------------------------------------------------- 02505000
       HRC011DK:          SPACE ,                                                        02506000
       HRC011DK: ANOTCARD EQU   *                                                        02507000
       HRC011DK:          CLI   CDSW2,X'FF'    IS IT CARD INPUT?                         02508000
       HRC011DK:          BE    GETCARD        YES GET ANOTHER CARD                      02509000
       HRC011DK:          SPACE ,                                                        02510000
       HRC011DK: REREAD   EQU   *                                                        02511000
       HRC011DK:          BAL   R14,RMSG       READ RESPONSE                             02512000
       HRC011DK:          TM    CSW+4,UE       WAS IT UNIT CK OR UNIT EXCEPTION          02513000
       HRC011DK:          BO    REREAD         YES,TRY AGAIN                             02514000
       HRC011DK:          CLI   CDSW2,X'FF'    IS IT CARD INPUT?                         02515000
       HRC011DK:          BE    CHECKCDS       YES....GO CHECK THEM                      02516000
       HRC011DK:          SPACE ,                                                        02517000
       HRC011DK: *---------------------------------------------------------------------- 02518000
       HRC011DK: *        HERE FOR CONSOLE INPUT - CHECK THE FIRST FIELD FOR TYPE.       02519000
       HRC011DK: *---------------------------------------------------------------------- 02520000
       HRC011DK:          OC    INDATA(5),BLANKS8 CONVERT TO UPPER CASE                  02521000
       HRC011DK:          CLC   INDATA(5),=C'TEMP ' IS IT TEMPORARY ?                    02522000
       HRC011DK:          MVI   ATYPE,X'00'    CLEAR TYPE TO 00                          02523000
       HRC011DK:          BE    AOKALL         BRANCH IF TEMP                            02524000
       HRC011DK:          CLC   INDATA(5),=C'PERM ' IS IT  PERMANENT ?                   02525000
       HRC011DK:          MVI   ATYPE,X'01'    TYPE IS 01                                02526000
       HRC011DK:          BE    AOKALL         BRANCH IF PERMANENT                       02527000
       HRC011DK:          CLC   INDATA(5),=C'TDSK ' IS IT TEMP DISK ?                    02528000
       HRC011DK:          MVI   ATYPE,X'02'    TYPE IS 02                                02529000
       HRC011DK:          BE    AOKALL         IF TEMP DISK BRANCH                       02530000
       HRC011DK:          CLC   INDATA(5),=C'DRCT ' IS IT DIRECTORY ?                    02531000
       HRC011DK:          MVI   ATYPE,X'04'    TYPE IS 04                                02532000
       HRC011DK:          BE    AOKALL         IF DIRECTORY BRANCH                       02533000
       HRC011DK:          B     CKEND          NOW GO CHECK FOR AN END                   02534000
       HRC011DK:          SPACE ,                                                        02535000
       HRC011DK: *---------------------------------------------------------------------- 02536000
       HRC011DK: *        HERE FOR CARD INPUT - CHECK THE FIRST FIELD FOR TYPE.          02537000
       HRC011DK: *---------------------------------------------------------------------- 02538000
       HRC011DK:          SPACE ,                                                        02539000
       HRC011DK: CHECKCDS MVC   INDATA(5),CDINPUT   MOVE TYPE FROM CARD                  02540000
       HRC011DK:          MVC   INDATA(80),CDINPUT GET THE CARD INPUT                    02541000
       HRC011DK:          OC    INDATA(5),BLANKS8 CONVERT TO UPPER CASE                  02542000
       HRC011DK:          CLC   INDATA(5),=C'TEMP,' IS IT TEMPORARY?                     02543000
       HRC011DK:          MVI   ATYPE,X'00'    CLEAR TYPE TO 00                          02544000
       HRC011DK:          BE    AOKALL         BRANCH IF TEMPORARY                       02545000
       HRC011DK:          CLC   INDATA(5),=C'PERM,' IS IT PERMANENT?                     02546000
       HRC011DK:          MVI   ATYPE,X'01'    TYPE IS 01                                02547000
       HRC011DK:          BE    AOKALL         BRANCH IF PERMANENT                       02548000
       HRC011DK:          CLC   INDATA(5),=C'TDSK,' IS IT TEMP DISK?                     02549000
       HRC011DK:          MVI   ATYPE,X'02'    TYPE IS 02                                02550000
       HRC011DK:          BE    AOKALL         BRANCH IF TEMP DISK                       02551000
       HRC011DK:          CLC   INDATA(5),=C'DRCT,' IS IT DIRECTORY?                     02552000
       HRC011DK:          MVI   ATYPE,X'04'    TYPE IS 04                                02553000
       HRC011DK:          BE    AOKALL         BRANCH IF DIRECTORY                       02554000
       HRC011DK:          SPACE ,                                                        02555000
       HRC011DK: *---------------------------------------------------------------------- 02556000
       HRC011DK: *        WHETHER ALLOCATION EXTENTS ARE ENTERED OR NOT, 'END' MUST BE   02557000
       HRC011DK: *        TYPED AT THIS POINT SINCE NOTHING ELSE WAS RECOGNIZED AS       02558000
       HRC011DK: *        VALID.  WRITE OUT THE ALLOCATION TABLE AT LABEL FINI.          02559000
       HRC011DK: *        IF 'END' WAS NOT FOUND, THEN ISSUE 'TYPE OR CYL INVALID'       02560000
       HRC011DK: *        FOR CARD INPUT DISPLAY THE CARD AND GO VALIDATE CARD INPUT.    02561000
       HRC011DK: *---------------------------------------------------------------------- 02562000
       HRC011DK:          SPACE ,                                                        02563000
       HRC011DK: CKEND    EQU   *                                                        02564000
       HRC011DK:          CLC   INDATA(4),=C'END ' WAS 'END' TYPED?                      02565000
       HRC011DK:          BE    FINI           IF END GO WRITE ALLOCATION TABLE          02566000
       HRC011DK:          LA    R4,TYPERR      SET UP TO PRINT ERROR                     02567000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             02568000
       HRC011DK:          TM    CDSW2,X'FF'    CARD INPUT?                               02569000
       HRC011DK:          BNO   REREAD         NO,BRANCH                                 02570000
       HRC011DK:          LA    R4,CARDMESS    SET UP ERROR MSG                          02571000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             02572000
       HRC011DK:          MVI   ALLOERR,X'FF'  ALLOCATE ERROR TURNED ON                  02573000
       HRC011DK:          B     VALIDATE       BRANCH                                    02574000
       HRC011DK: AOKALL   EQU   *                                                        02575000
       HRC011DK: *.3******************************************************************** 02576000
       HRC011DK: *                                                                       02577000
       HRC011DK: * OPERATION -                                                           02578000
       HRC011DK: *                                                                       02579000
       HRC011DK: * Z. ALLOCATE CKD                                                       02580000
       HRC011DK: *                                                                       02581000
       HRC011DK: *        COME HERE FROM OP Y ABOVE WITH THE 'ATYPE' BYTE EQUAL TO THE   02582000
       HRC011DK: *        ALLOCATION TYPE AND THE CYLINDER EXTENTS IN INDATA.            02583000
       HRC011DK: *                                                                       02584000
       HRC011DK: *        UPDATE ALLOCATION TABLE IN CORE FROM CONSOLE OR IPL DEVICE     02585000
       HRC011DK: *        INPUT.  WE THEN WRITE THE CYLINDER ALLOCATION INTO THE CYL     02586000
       HRC011DK: *        BYTE MAP LOCATED IN RECORD 4 OF CYLINDER 0 HEAD 0.  THIS MAP   02587000
       HRC011DK: *        WILL LATER BE DISPLAYED ON THE CONSOLE.                        02588000
       HRC011DK: *                                                                       02589000
       HRC011DK: *        1. PROCESS THE INPUT DATA TO DETERMINE STARTING AND ENDING     02590000
       HRC011DK: *           CYLINDERS.  MOVE THE CORRECT FORMAT OF THE STARTING AND     02591000
       HRC011DK: *           ENDING CYLINDER NUMBERS BACK INTO INDATA AFTER DELETING     02592000
       HRC011DK: *           ANY LEADING ZEROES OR CHECKING FOR 3 OR 4 DIGIT             02593000
       HRC011DK: *           SPECIFICATIONS.  CHECK IF INPUT CYLINDERS ARE 3, 4, OR      02594000
       HRC011DK: *           MIXED NUMBERS OF DIGITS AND HANDLE ACCORDINGLY.             02595000
       HRC011DK: *        2. SHOW EACH CYLINDER BY ITS RESPECTIVE ALLOCATION TYPE AND    02596000
       HRC011DK: *           PUT IT INTO THE CYLINDER BYTE MAP.                          02597000
       HRC011DK: *        3. IF AN INVALID CYLINDER WAS FOUND, ISSUE 'TYPE OR CYL        02598000
       HRC011DK: *           INVALID' MESSAGE.                                           02599000
       HRC011DK: *                                                                       02600000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02601000
       HRC011DK: *                                                                       02602000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          02603000
       HRC011DK: *        R5  - WORK                                                     02604000
       HRC011DK: *        R7  - WORK                                                     02605000
       HRC011DK: *        R9  - ADDRESS OF CYLINDER BYTE MAP                             02606000
       HRC011DK: *        R14 - LINKAGE                                                  02607000
       HRC011DK: *                                                                       02608000
       HRC011DK: *.$******************************************************************** 02609000
       HRC011DK:          SPACE ,                                                        02610000
       HRC011DK: *---------------------------------------------------------------------- 02611000
       HRC011DK: *        3 OR 4 MIXED DIGIT INPUT WITH A SINGLE BLANK IN BETWEEN IS     02612000
       HRC011DK: *        ALLOWED.  CHECK FOR THE STARTING CYLINDER DIGIT FIRST.         02613000
       HRC011DK: *---------------------------------------------------------------------- 02614000
       HRC011DK:          SPACE ,                                                        02615000
       HRC011DK:          MVC   CHARSAVE,CHARMASK     REINTIALIZE CHARSAVE AREA          02616000
       HRC011DK:          CLI   INDATA+8,C'0'         IS STR CYL 4TH DIGIT NUM?          02617000
       HRC011DK:          BNL   CHKEND2               YES, CHECK ENDING CYL.             02618000
       HRC011DK:          CLI   INDATA+8,C' '         IF NOT, IS IT A BLANK?             02619000
       HRC011DK:          BE    CHKEND1               YES, CHECK ENDING CYL.             02620000
       HRC011DK:          CLI   INDATA+8,C','         OR IS IT FROM CARD INPUT?          02621000
       HRC011DK:          BNE   ERRCYL                NO, INPUT ERROR                    02622000
       HRC011DK:          SPACE ,                                                        02623000
       HRC011DK: *---------------------------------------------------------------------- 02624000
       HRC011DK: *        THE STARTING CYLINDER IS 3 DIGITS -- WE NEED TO MAKE SURE THE  02625000
       HRC011DK: *        4TH DIGIT OF THE ENDING CYLINDER IS EITHER A BLANK OR X'00'    02626000
       HRC011DK: *        SO THAT WE CAN INSERT LEADING 0'S FOR BOTH STARTING AND ENDING 02627000
       HRC011DK: *        CYLINDER NUMBERS.                                              02628000
       HRC011DK: *---------------------------------------------------------------------- 02629000
       HRC011DK: CHKEND1  DS    0H                    CHECK ENDING CYLINDER              02630000
       HRC011DK:          CLI   INDATA+12,C'0'        HOW ABOUT ENDING CYL?              02631000
       HRC011DK:          BNL   INSERTA2              YES, INSERT A LEADING 0            02632000
       HRC011DK:          CLI   INDATA+12,C' '        IS IT A BLANK ?                    02633000
       HRC011DK:          BE    INSERTA1              YES, INSERT 0 IN FRONT             02634000
       HRC011DK:          CLI   INDATA+12,X'00'       OR IS IT A X'00' ?                 02635000
       HRC011DK:          BNE   ERRCYL                NO, INPUT ERROR                    02636000
       HRC011DK: INSERTA1 DS    0H                    INSERT A LEADING 0                 02637000
       HRC011DK:          MVC   CHARSAVE+1(4),INDATA+5 STORE START CYL TEMPRRLY          02638000
       HRC011DK:          MVC   CHARSAVE+6(3),INDATA+9 STORE ENDT CYL TEMPRRILY          02639000
       HRC011DK:          B     MOVEBACK              MOVE BACK CYL NUMBERS              02640000
       HRC011DK:          SPACE ,                                                        02641000
       HRC011DK: *---------------------------------------------------------------------- 02642000
       HRC011DK: *        HERE, STARTING CYLINDER HAS 3 DIGITS AND ENDING CYLINDER HAS   02643000
       HRC011DK: *        AT LEAST 4.  MAKE SURE ENDING CYLINDER DOES NOT GO BEYOND 4    02644000
       HRC011DK: *        DIGITS.  INSERT A LEADING 0 FOR STARTING CYLINDER.             02645000
       HRC011DK: *---------------------------------------------------------------------- 02646000
       HRC011DK:          SPACE ,                                                        02647000
       HRC011DK: INSERTA2 DS    0H                                                       02648000
       HRC011DK:          CLI   INDATA+13,C' '        5TH DIGIT OF END CYL BLNK?         02649000
       HRC011DK:          BE    INSERTA3              YES, INS 0 FOR START CYL           02650000
       HRC011DK:          CLI   INDATA+13,X'00'       OR IS IT A X'00' ?                 02651000
       HRC011DK:          BNE   ERRCYL                NO, INPUT ERROR                    02652000
       HRC011DK: INSERTA3 DS    0H                                                       02653000
       HRC011DK:          MVC   CHARSAVE+1(8),INDATA+5 STORE START CYL TEMPRRLY          02654000
       HRC011DK:          B     MOVEBACK              MOVE BACK CYL NUMBERS              02655000
       HRC011DK:          SPACE ,                                                        02656000
       HRC011DK: *---------------------------------------------------------------------- 02657000
       HRC011DK: *        STARTING CYLINDER IS 4 DIGITS, NEED TO CHECK THE ENDING        02658000
       HRC011DK: *        CYLINDER DIGIT.                                                02659000
       HRC011DK: *---------------------------------------------------------------------- 02660000
       HRC011DK:          SPACE ,                                                        02661000
       HRC011DK: CHKEND2  DS    0H                    CHECK THE ENDING CYL. #            02662000
       HRC011DK:          CLI   INDATA+9,C' '         IS THE 5TH DIGIT A BLANK?          02663000
       HRC011DK:          BE    CHKEND3               YES, CHECK THE ENDING CYL          02664000
       HRC011DK:          CLI   INDATA+9,C','         NO, IS IT FROM CARD                02665000
       HRC011DK:          BNE   ERRCYL                NO, INPUT ERROR                    02666000
       HRC011DK: CHKEND3  DS    0H                    CHECK THE ENDING CYL. #            02667000
       HRC011DK:          CLI   INDATA+13,C'0'        IS END CYL A 3 DIGIT NUM?          02668000
       HRC011DK:          BNL   NUMCHKA               NO, GO CHECK IF NUMERIC            02669000
       HRC011DK:          CLI   INDATA+13,C' '        IS THE 4TH DIGIT A BLANK?          02670000
       HRC011DK:          BE    INSERTA4              YES, INSERT 0 IN FRONT             02671000
       HRC011DK:          CLI   INDATA+13,X'00'       OR IS IT A X'00' ?                 02672000
       HRC011DK:          BNE   ERRCYL                NO, INPUT ERROR                    02673000
       HRC011DK: INSERTA4 DS    0H                                                       02674000
       HRC011DK:          MVC   CHARSAVE(4),INDATA+5  STORE START CYL TEMPRRLY           02675000
       HRC011DK:          MVC   CHARSAVE+6(3),INDATA+10 STORE ENDT CYL TEMPRRILY         02676000
       HRC011DK:          MVC   INDATA+5(4),CHARSAVE  MOVE BACK THE START CYL #          02677000
       HRC011DK:          MVC   INDATA+10(4),CHARSAVE+5  MOVE BACK THE END CYL #         02678000
       HRC011DK:          B     NUMCHKA               GO CHECK IF NUMERIC                02679000
       HRC011DK:          SPACE ,                                                        02680000
       HRC011DK: *---------------------------------------------------------------------- 02681000
       HRC011DK: *        BOTH THE STARTING AND ENDING CYLINDERS ARE 4 DIGITS IN THE     02682000
       HRC011DK: *        CHARSAVE AREA.  NOW MOVE THEM BACK TO THE INDATA AREA.         02683000
       HRC011DK: *---------------------------------------------------------------------- 02684000
       HRC011DK: MOVEBACK DS    0H                                                       02685000
       HRC011DK:          MVC   INDATA+5(9),CHARSAVE  MOVE BACK THE INPUT CYL            02686000
       HRC011DK:          SPACE ,                                                        02687000
       HRC011DK: *---------------------------------------------------------------------- 02688000
       HRC011DK: *        BOTH THE STARTING AND ENDING CYLINDERS ARE 4 DIGITS NOW IN     02689000
       HRC011DK: *        INDATA.  CHECK TO VERIFY THAT THEY ARE ALL NUMERIC.  FIRST     02690000
       HRC011DK: *        CHECK THE STARTING CYLINDER.                                   02691000
       HRC011DK: *---------------------------------------------------------------------- 02692000
       HRC011DK:          SPACE ,                                                        02693000
       HRC011DK: NUMCHKA  DS    0H                                                       02694000
       HRC011DK:          MVC   MASKB(CYLNUM),MASKA  REINITIALIZE MASKB TO 'F0'          02695000
       HRC011DK:          NC    MASKB(CYLNUM),INDATA+NAMCHARS+BLANK                      02696000
       HRC011DK: *                             AND MASK IT WITH THE INDATA               02697000
       HRC011DK:          CLC   MASKA(CYLNUM),MASKB   ARE THEY ALL NUMERIC?              02698000
       HRC011DK:          BNE   ERRCYL         NO, ERROR IN INDATA                       02699000
       HRC011DK:          CLI   CDSW2,X'FF'    CARD INPUT?                               02700000
       HRC011DK:          BNE   CONSDATA       NO, MUST BE FROM THE CONSOLE              02701000
       HRC011DK:          CLI   INDATA+NAMCHARS+BLANK+CYLNUM,C','                        02702000
       HRC011DK:          BNE   ERRCYL         NO...HE GOOFED.                           02703000
       HRC011DK:          B     CKREST         GO CHECK THE REST OF IT                   02704000
       HRC011DK:          SPACE ,                                                        02705000
       HRC011DK: *---------------------------------------------------------------------- 02706000
       HRC011DK: *        IF INPUT IS FROM THE CONSOLE, THERE MUST BE A SINGLE BLANK     02707000
       HRC011DK: *        BETWEEN TYPE AND STARTING CYLINDER FIELDS.                     02708000
       HRC011DK: *---------------------------------------------------------------------- 02709000
       HRC011DK:          SPACE ,                                                        02710000
       HRC011DK: CONSDATA EQU   *                                                        02711000
       HRC011DK:          CLI   INDATA+NAMCHARS+BLANK+CYLNUM,C' ' IS IT A BLANK?         02712000
       HRC011DK:          BNE   ERRCYL         NOPE - REPEAT IT PLEASE                   02713000
       HRC011DK:          SPACE ,                                                        02714000
       HRC011DK: *---------------------------------------------------------------------- 02715000
       HRC011DK: *        NEXT CHECK THE ENDING CYLINDER - THERE MAY BE SOMETHING AFTER. 02716000
       HRC011DK: *---------------------------------------------------------------------- 02717000
       HRC011DK:          SPACE ,                                                        02718000
       HRC011DK: CKREST   NC    MASKB(CYLNUM),INDATA+NAMCHARS+BLANK+CYLNUM+BLANK         02719000
       HRC011DK: *                             MASK WITH THE ENDING CYLINDER             02720000
       HRC011DK:          CLC   MASKA(CYLNUM),MASKB  IS END CYLINDER NUMERIC?            02721000
       HRC011DK:          BNE   ERRCYL         NO,ERROR IN INDATA                        02722000
       HRC011DK:          OI    INDATA+NAMCHARS+BLANK+CYLNUM+BLANK+CYLNUM,X'40'          02723000
       HRC011DK: *                             MASK ENDING CYL WITH A BLANK              02724000
       HRC011DK:          CLI   INDATA+NAMCHARS+BLANK+CYLNUM+BLANK+CYLNUM,X'40'          02725000
       HRC011DK: *                             IS INPUT ENDED WITH A BLANK ?             02726000
       HRC011DK: *                             IF NOT, MEANS SOMETHING IS THERE          02727000
       HRC011DK:          BNE   ERRCYL         YEP - DO IT AGAIN.                        02728000
       HRC011DK:          SPACE ,                                                        02729000
       HRC011DK: *---------------------------------------------------------------------- 02730000
       HRC011DK: *        CHECK CYLINDER BOUNDARY FOR EACH TYPE.                         02731000
       HRC011DK: *---------------------------------------------------------------------- 02732000
       HRC011DK:          SPACE ,                                                        02733000
       HRC011DK:          PACK  FIELDA+5(3),INDATA+NAMCHARS+BLANK(CYLNUM)                02734000
       HRC011DK: *                                      PACK START CYL DATA              02735000
       HRC011DK:          PACK  FIELDB+5(3),INDATA+NAMCHARS+BLANK+CYLNUM+BLANK(CYLNUM)   02736000
       HRC011DK: *                                      PACK END CYL DATA                02737000
       HRC011DK:          CVB   R7,FIELDA               CONVERT TO BINARY START CYL      02738000
       HRC011DK:          ST    R7,FIELDA+4             SAVE BINARY RESULTS              02739000
       HRC011DK:          CVB   R7,FIELDB               CONVERT TO BINARY END CYL        02740000
       HRC011DK:          LH    R5,HIVALUE              MAX END CYLINDER                 02741000
       HRC011DK:          LA    R5,1(R5)                ADD ONE TO HI VALUE              02742000
       HRC011DK:          CH    R7,HIVALUE              HIGHER THAN LAST CYLINDER        02743000
       HRC011DK:          BH    ERRCYL                  YES,ERROR                        02744000
       HRC011DK: STORE2   ST    R7,FIELDB+4             SAVE END CYLINDER                02745000
       HRC011DK:          SPACE ,                                                        02746000
       HRC011DK:          CLC   FIELDA+4(4),FIELDB+4    IS START GREATER THAN END?       02747000
       HRC011DK:          BH    ERRCYL                  YES,THAT'S ERROR                 02748000
       HRC011DK:          SPACE ,                                                        02749000
       HRC011DK: *---------------------------------------------------------------------- 02750000
       HRC011DK: *        SHOW EACH CYLINDER BY ITS RESPECTIVE ALLOCATION TYPE AND PUT   02751000
       HRC011DK: *        IT INTO THE CYLINDER BYTE MAP.                                 02752000
       HRC011DK: *---------------------------------------------------------------------- 02753000
       HRC011DK:          SPACE ,                                                        02754000
       HRC011DK:          L     R9,=A(TABLE)   LOAD BYTE MAP START ADDRESS               02755000
       HRC011DK:          A     R9,FIELDA+4    ADD START CYL TO BYTE MAP ADDR            02756000
       HRC011DK:          L     R7,FIELDB+4             LOAD END CYL INTO R8             02757000
       HRC011DK:          S     R7,FIELDA+4             SUBTRACT START FROM END          02758000
       HRC011DK:          LA    R7,1(R7)                ADD 1 TO NUMBER OF CYL'S         02759000
       HRC011DK:          MVC   INDIC+1(1),ATYPE         ALTER INSTR TO CORRECT TYPE     02760000
       HRC011DK: INDIC    MVI   0(R9),X'00'             PUT TYPE INTO CYL BYTE MAP       02761000
       HRC011DK:          LA    R9,1(R9)                ADD 1 TO BYTE MAP ADDRESS        02762000
       HRC011DK:          BCT   R7,INDIC                REPEAT FOF THE NUMB CYL'         02763000
       HRC011DK:          SPACE ,                                                        02764000
       HRC011DK:          OI    FLAG1,ALLOCWR  SET FLAG TO WRITE ALLOC. TO DISK          02765000
       HRC011DK:          TM    CDSW2,X'FF'             IS CD SWITCH2 ON                 02766000
       HRC011DK:          BO    GETCARD                 YES,BRANCH                       02767000
       HRC011DK:          B     REREAD                  GET ANOTHER ENTRY                02768000
       HRC011DK:          SPACE ,                                                        02769000
       HRC011DK: *---------------------------------------------------------------------- 02770000
       HRC011DK: *        ISSUE 'TYPE OR CYL INVALID'.                                   02771000
       HRC011DK: *---------------------------------------------------------------------- 02772000
       HRC011DK:          SPACE ,                                                        02773000
       HRC011DK: ERRCYL   LA    R4,TYPERR               SET UP CYL ERROR MSG             02774000
       HRC011DK: OUTMSG   EQU   *                                                        02775000
       HRC011DK:          BAL   R14,WMSG                WRITE MESSAGE                    02776000
       HRC011DK:          TM    CDSW2,X'FF'             IS CD SWITCH2 ON                 02777000
       HRC011DK:          BO    BADINPUT                YES,BRANCH                       02778000
       HRC011DK:          B     REREAD                  GET ANOTHER ENTRY                02779000
       HRC011DK: *.3******************************************************************** 02780000
       HRC011DK: *                                                                       02781000
       HRC011DK: * OPERATION -                                                           02782000
       HRC011DK: *                                                                       02783000
       HRC011DK: * BB. WRITE ALLOCATION TABLE TO DASD                                    02784000
       HRC011DK: *                                                                       02785000
       HRC011DK: *        COME HERE AFTER 'END' WAS SPECIFIED FROM OP Y TO WRITE THE     02786000
       HRC011DK: *        ALLOCATION MAP TO DASD.  IF 'END' WAS SPECIFIED ALONE WITHOUT  02787000
       HRC011DK: *        ANY OTHER ALLOCATIONS, THEN DO NOT WRITE THE MAP TO DASD BUT   02788000
       HRC011DK: *        WRITE IT TO THE CONSOLE ONLY.                                  02789000
       HRC011DK: *                                                                       02790000
       HRC011DK: *        1. LOAD APPROPRIATE CCWS TO WRITE ALLOCATION.                  02791000
       HRC011DK: *        2. ISSUE SIO TO WRITE THE ALLOCATION MAP TO DASD.              02792000
       HRC011DK: *           WITH GOOD STATUS, GO TO OP CC.                              02793000
       HRC011DK: *        3. HANDLE ANY BAD STATUS RETURNED FROM THE SIO.                02794000
       HRC011DK: *                                                                       02795000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02796000
       HRC011DK: *                                                                       02797000
       HRC011DK: *        R1  - CHANNEL PROGRAM ADDRESS                                  02798000
       HRC011DK: *        R2  - WORK                                                     02799000
       HRC011DK: *        R5  - DISK ADDRESS                                             02800000
       HRC011DK: *        R7  - LINKAGE                                                  02801000
       HRC011DK: *        R14 - LINKAGE                                                  02802000
       HRC011DK: *                                                                       02803000
       HRC011DK: *.&******************************************************************** 02804000
       HRC011DK:          SPACE ,                                                        02805000
       HRC011DK: FINI     EQU   *                                                        02806000
       HRC011DK: *---------------------------------------------------------------------- 02807000
       HRC011DK: *        LOAD ALLOCREC STRING TO WRITE ALLOC MAP TO DASD.               02808000
       HRC011DK: *---------------------------------------------------------------------- 02809000
       HRC011DK:          SPACE ,                                                        02810000
       HRC011DK:          L     R2,=A(TABLE)   LOAD MAP START ADDRESS                    02811000
       HRC011DK:          AH    R2,HIVALUE     ADD MAXIMUM CYLINDER NUMBER               02812000
       HRC011DK:          MVI   1(R2),X'FF'    SET END OF TABLE TO FF                    02813000
       HRC011DK:          TM    FLAG1,ALLOCWR  NEED TO WRITE ALLOC. TO DISK?             02814000
       HRC011DK:          BZ    PRINTALL       NO,'END' WAS ONLY COMMAND,SO              02815000
       HRC011DK: *                             JUST DISPLAY                              02816000
       HRC011DK:          LA    R1,ALLOREC     ALLOCATE TABLE CCWS                       02817000
       HRC011DK:          LH    R5,DSKADD      GET DEVICE ADD INTO R5                    02818000
       HRC011DK:          SPACE ,                                                        02819000
       HRC011DK: *---------------------------------------------------------------------- 02820000
       HRC011DK: *        ISSUE SIO TO WRITE THE ALLOCATION DATA ON DASD.                02821000
       HRC011DK: *---------------------------------------------------------------------- 02822000
       HRC011DK:          SPACE ,                                                        02823000
       HRC011DK: ALOCIO   EQU   *                                                        02824000
       HRC011DK:          ST    R1,CAW         LABEL CCWS INTO CAW                       02825000
       HRC011DK:          TIO   0(R5)          DRAIN IT                                  02826000
       HRC011DK:          BC    2,*-4          LOOP IF BUSY                              02827000
       HRC011DK:          BAL   R14,STRTIO1    WRITE OUT THE ALLO TABLE                  02828000
       HRC011DK: TIO1     TIO   0(R5)          DRAIN THE INT                             02829000
       HRC011DK:          BC    2,*-4          LOOP UNTIL DONE                           02830000
       HRC011DK:          BC    1,TIOCC3       DEVICE INOPER. - SAY SO                   02831000
       HRC011DK:          TM    CSW+5,X'FF'    ANY BAD CHANNEL STATUS                    02832000
       HRC011DK:          BNZ   ERROR          YES- BRANCH                               02833000
       HRC011DK:          TM    CSW+4,UC       UNIT CHECK                                02834000
       HRC011DK:          BO    ERROR          YES- BRANCH                               02835000
       HRC011DK:          TM    CSW+4,CE       CHANNEL END                               02836000
       HRC011DK:          BO    PRINTALL       YES- BRANCH ALL OK                        02837000
       HRC011DK:          B     TIO1           NO- GO GET IT                             02838000
       HRC011DK:          SPACE ,                                                        02839000
       HRC011DK: *---------------------------------------------------------------------- 02840000
       HRC011DK: *        FOR BAD STATUS FROM SIO, GET THE SENSE DATA AND ISSUE THE      02841000
       HRC011DK: *        ERROR MESSAGE.                                                 02842000
       HRC011DK: *---------------------------------------------------------------------- 02843000
       HRC011DK:          SPACE ,                                                        02844000
       HRC011DK: ERROR    BAL   R7,SENSIT      GET THE SENSE DATA                        02845000
       HRC011DK:          MVC   CCHHR(5),R4ALLOC  MOVE IN THE CCHHR DATA                 02846000
       HRC011DK:          BAL   R7,SENSIT2     TYPE THE MSG                              02847000
       HRC011DK:          B     FATAL                                                    02848000
       HRC011DK: *.3******************************************************************** 02849000
       HRC011DK: *                                                                       02850000
       HRC011DK: * OPERATION -                                                           02851000
       HRC011DK: *                                                                       02852000
       HRC011DK: * CC.  WRITE OUT ALLOCATION TABLE TO CONSOLE                            02853000
       HRC011DK: *                                                                       02854000
       HRC011DK: *        COME HERE AFTER 'END' WAS SPECIFIED FROM OP BB, FOLLOWING THE  02855000
       HRC011DK: *        WRITING OF THE ALLOCATION TABLE TO DASD IF REQUIRED.  'END'    02856000
       HRC011DK: *        WAS FIRST DETECTED IN OP Y.  IF 'END' WAS SPECIFIED BEFORE ANY 02857000
       HRC011DK: *        EXTENTS, THEN THE ALLOCATION MAP IS WRITTEN TO THE CONSOLE     02858000
       HRC011DK: *        ONLY.                                                          02859000
       HRC011DK: *                                                                       02860000
       HRC011DK: *        1. DISPLAY THE 'ALLOCATION RESULTS' MESSAGE ON THE CONSOLE.    02861000
       HRC011DK: *        2. FOR CKD, SHOW EACH ALLOCATION EXTENT.                       02862000
       HRC011DK: *        3. EACH BYTE REPRESENTS A CYLINDER - CHECK CYLINDER AND WRITE  02863000
       HRC011DK: *           TO ALLOCATION TYPE TO THE CONSOLE.                          02864000
       HRC011DK: *        4. DISPLAY 'ALLOCATION ENDED' MESSAGE AND GO BACK TO START     02865000
       HRC011DK: *           TO GET A NEW FUNCTION.                                      02866000
       HRC011DK: *                                                                       02867000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02868000
       HRC011DK: *                                                                       02869000
       HRC011DK: *        R2  - WORK                                                     02870000
       HRC011DK: *        R3  - ALLOCATION TABLE ADDRESS                                 02871000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          02872000
       HRC011DK: *        R6  - WORK                                                     02873000
       HRC011DK: *        R7  - WORK                                                     02874000
       HRC011DK: *        R14 - LINKAGE                                                  02875000
       HRC011DK: *                                                                       02876000
       HRC011DK: *.$******************************************************************** 02877000
       HRC011DK:          SPACE ,                                                        02878000
       HRC011DK: *---------------------------------------------------------------------- 02879000
       HRC011DK: *        ISSUE MESSAGE 'ALLOCATION RESULTS' ON CONSOLE.                 02880000
       HRC011DK: *---------------------------------------------------------------------- 02881000
       HRC011DK:          SPACE ,                                                        02882000
       HRC011DK: PRINTALL DS    0H                      PRINT ALLOCATION DATA            02883000
       HRC011DK:          LA    R4,RESULTS              PRINT ALLOCATION RESULTS         02884000
       HRC011DK:          BAL   R14,WMSG2               PRINT MESSAGE                    02885000
       HRC011DK:          L     R3,=A(TABLE)            POINT TO TABLE                   02886000
       HRC011DK:          LR    R6,R3                   PUT TABLE ADDRESS IN R6          02887000
       HRC011DK:          SR    R7,R7                   CLEAR R7                         02888000
       HRC011DK: REENTER  DS    0H                                                       02889000
       HRC011DK:          CLI   0(R6),X'00'             IS FIRST BYTE 00?                02890000
       HRC011DK:          MVC   MAP+1(4),=C'TEMP'       MOVE IN TEMP                     02891000
       HRC011DK:          BE    CYLINDER                YES,BRANCH                       02892000
       HRC011DK:          CLI   0(R6),X'01'             IS BYTE 01?                      02893000
       HRC011DK:          MVC   MAP+1(4),=C'PERM'       MOVE IN PERM                     02894000
       HRC011DK:          BE    CYLINDER                YES,BRANCH                       02895000
       HRC011DK:          CLI   0(R6),X'02'             IS BTYE 02?                      02896000
       HRC011DK:          MVC   MAP+1(4),=C'TDSK'       MOVE IN TDSK                     02897000
       HRC011DK:          BE    CYLINDER                YES,BRANCH                       02898000
       HRC011DK:          MVC   MAP+1(4),=C'BAD '       SET UP FOR BAD ENTRY             02899000
       HRC011DK: DIRECT   EQU   *                                                        02900000
       HRC011DK:          TM    0(R6),DRCTINV           CYL INVALID FOR DRCT?            02901000
       HRC011DK:          LA    R7,1(,R7)               BUMP CYLINDER COUNT              02902000
       HRC011DK:          LA    R6,1(,R6)               TABLE ADDR ALSO                  02903000
       HRC011DK:          BNZ   CONT                    YES, CONTINUE                    02904000
       HRC011DK:          MVC   MAP+1(4),=C'DRCT'       MOVE IN DRCT                     02905000
       HRC011DK:          SPACE ,                                                        02906000
       HRC011DK:          CLI   0(R6),DRCTFREE          THIS FREE DRCT CYL?              02907000
       HRC011DK:          BE    DIRECT                  YES, COUNT IT                    02908000
       HRC011DK:          CLI   0(R6),DRCTDIR           CYL IN USE BY DMKDIR?            02909000
       HRC011DK:          BE    DIRECT                  YES, COUNT IT                    02910000
       HRC011DK:          SPACE ,                                                        02911000
       HRC011DK:          B     CONT                    NO, BRANCH                       02912000
       HRC011DK:          SPACE ,                                                        02913000
       HRC011DK: *---------------------------------------------------------------------- 02914000
       HRC011DK: *        CHECK TYPE, CYLINDER BY CYLINDER AND WRITE TO CONSOLE          02915000
       HRC011DK: *---------------------------------------------------------------------- 02916000
       HRC011DK:          SPACE ,                                                        02917000
       HRC011DK: CYLINDER CLC   0(1,R6),1(R6)           NEXT CYLINDER THE SAME?          02918000
       HRC011DK:          LA    R7,1(R7)                BUMP CYL COUNT BY 1              02919000
       HRC011DK:          LA    R6,1(R6)                BUMP BYTE TABLE ADDRESS BY 1     02920000
       HRC011DK:          BE    CYLINDER                IF SAME CYL LOOK AT NEXT BYTE    02921000
       HRC011DK: CONT     LR    R10,R6                  PUT BYTE LOCATION INTO R10       02922000
       HRC011DK:          SR    R10,R3                  PRESENT MINUS STRT ADDR          02923000
       HRC011DK:          SR    R10,R7                  GET START CYLINDER               02924000
       HRC011DK:          CVD   R10,FIELDA              CONVERT START TO DECIMAL         02925000
       HRC011DK:          AR    R10,R7                  GET END ADDRESS                  02926000
       HRC011DK:          BCTR  R10,0                   REDUCE BY 1                      02927000
       HRC011DK:          CVD   R10,FIELDB              CONVERT END TO DECIMAL           02928000
       HRC011DK:          OI    FIELDA+7,X'0F'          PLUG IN SIGN                     02929000
       HRC011DK:          OI    FIELDB+7,X'0F'          PLUG IN SIGN                     02930000
       HRC011DK:          UNPK  MAP+1+NAMCHARS+BLANK(CYLNUM),FIELDA+5(3)                 02931000
       HRC011DK: *                                UNPACK TO MAKE IT PRINTABLE            02932000
       HRC011DK:          UNPK  MAP+1+NAMCHARS+BLANK+CYLNUM+BLANK(CYLNUM),FIELDB+5(3)    02933000
       HRC011DK: *                                UNPACK TO MAKE IT PRINTABLE            02934000
       HRC011DK:          LA    R4,MAP                  SET UP PRINT MAP                 02935000
       HRC011DK:          BAL   R14,WMSG2               WRITE MESSAGE                    02936000
       HRC011DK:          SR    R7,R7                   CLEAR R7                         02937000
       HRC011DK:          CR    R6,R2                   IS R6 AT HIVALUE                 02938000
       HRC011DK:          BNH   REENTER                 NO- BRANCH                       02939000
       HRC011DK:          SPACE ,                                                        02940000
       HRC011DK: *---------------------------------------------------------------------- 02941000
       HRC011DK: *        ISSUE MESSAGE 'DEVICE XXX VOLUME XXXXXX ALLOCATION ENDED'.     02942000
       HRC011DK: *        GO BACK UP TO GETCARD TO FETCH A NEW FUNCTION.                 02943000
       HRC011DK: *---------------------------------------------------------------------- 02944000
       HRC011DK:          SPACE ,                                                        02945000
       HRC011DK: APRTDON  EQU   *                                                        02946000
       HRC011DK:          LA    R4,ALLEND               SET UP TO ALLOCATION END         02947000
       HRC011DK:          BAL   R14,WMSG                WRITE MESSAGE                    02948000
       HRC011DK:          MVI   ALLOSW,X'00'            TURN OFF ALLOCATE SWITCH         02949000
       HRC011DK:          B     GETCARD                 YES,BRANCH                       02950000
       HRC011DK:          SPACE ,                                                        02951000
       HRC011DK: *---------------------------------------------------------------------- 02952000
       HRC011DK: *        MISCELLANEOUS EXECUTED INSTRUCTIONS.                           02953000
       HRC011DK: *---------------------------------------------------------------------- 02954000
       HRC011DK:          SPACE ,                                                        02955000
       HRC011DK: TSTFRMT  CLC   COMWOK(*-*),=CL8'FORMAT'                                 02956000
       HRC011DK: TSTALLOC CLC   COMWOK(*-*),=CL8'ALLOCATE'                               02957000
       HRC011DK: TSTLABL  CLC   COMWOK(*-*),=CL8'LABEL   '                               02958000
       HRC011DK: MVCCOMW  MVC   COMWOK(*-*),INDATA                                       02959000
       HRC011DK: *.3******************************************************************** 02960000
       HRC011DK: *                                                                       02961000
       HRC011DK: * OPERATION -                                                           02962000
       HRC011DK: *                                                                       02963000
       HRC011DK: * DD. HANDLE DASD I/O INTERRUPTS                                        02964000
       HRC011DK: *                                                                       02965000
       HRC011DK: *        1. IF THE INTERRUPT IS FROM THE DEVICE WE STARTED, THEN HANDLE 02966000
       HRC011DK: *           THE CSW STATUS.  FOR A UNIT CHECK, GO TO STEP 4.            02967000
       HRC011DK: *        2. WE HAD A CLEAN CE+DE STATUS.  IF ALTERNATE TRACK RECOVERY   02968000
       HRC011DK: *           IS IN PROGRESS, THEN GO TO THE ALTCHK SUBROUTINE.           02969000
       HRC011DK: *        3. RESUME FORMATTING IN THE MAIN LOGIC AT EITHER OP Q.         02970000
       HRC011DK: *        4. UNIT CHECK RECOVERY - ISSUE SENSE AND EVALUATE SENSE BYTES. 02971000
       HRC011DK: *        5. CHECK FOR AND HANDLE AN IMPRECISE ENDING CONDITION.  IF     02972000
       HRC011DK: *           NOT A REPEAT ERROR, THEN GO RESTART THE DEVICE AT OP U.     02973000
       HRC011DK: *        6. INCREMENT REPEAT ERROR COUNT.  FOR CKD, RETRY FIRST OR      02974000
       HRC011DK: *           SECOND TIME THROUGH.  ELSE, GO TO STEP 16.                  02975000
       HRC011DK: *        7. IF CCW FAILED 10 TIMES, CONTINUE.  IF LESS THAN 10, GO      02976000
       HRC011DK: *           RESTART AT OP U.                                            02977000
       HRC011DK: *        8. HANDLE FAILING CKD CCW.  AFTER PRINTING THE SENSE MESSAGE,  02978000
       HRC011DK: *           POINT TO THE FAILING CCW AND HANDLE SPECIFIC CCW TYPE.      02979000
       HRC011DK: *        9. FOR A READ OR SEARCH ID EQUAL CCW, GO TO OP FF TO TRY TO    02980000
       HRC011DK: *           REBUILD THE STRING.                                         02981000
       HRC011DK: *       10. IF POSSIBLE, SEARCH FOR ANOTHER SEEK IN THE CHAIN.  IF ONE  02982000
       HRC011DK: *           FOUND, GO TO STEP 14.  IF NOT, ISSUE ERROR.                 02983000
       HRC011DK: *       11. FOR CKD, RESTART THE STRING BY TIC'ING TO THIS SEEK AND GO  02984000
       HRC011DK: *           TO OP U.                                                    02985000
       HRC011DK: *       12. HANDLE CONSOLE INTERRUPT FOUND BY THIS ROUTINE.             02986000
       HRC011DK: *       13. PERFORM A RECALIBRATION ON THE FAILING DEVICE.              02987000
       HRC011DK: *       14. FOR SECOND ERROR ON CKD CCW STRING, RETRY CCWS.             02988000
       HRC011DK: *                                                                       02989000
       HRC011DK: * LOCAL REGISTER USAGE -                                                02990000
       HRC011DK: *                                                                       02991000
       HRC011DK: *        R3  - WORK                                                     02992000
       HRC011DK: *        R4  - WORK/INTERRUPTING DEVICE ADDRESS                         02993000
       HRC011DK: *        R5  - DEVICE STARTED                                           02994000
       HRC011DK: *        R6  - WORK                                                     02995000
       HRC011DK: *        R7  - LINKAGE                                                  02996000
       HRC011DK: *        R9  - CHANNEL PROGRAM ADDRESS                                  02997000
       HRC011DK: *        R14 - WORK                                                     02998000
       HRC011DK: *                                                                       02999000
       HRC011DK: *.$******************************************************************** 03000000
       HRC011DK:          SPACE ,                                                        03001000
       HRC011DK: *---------------------------------------------------------------------- 03002000
       HRC011DK: *        IF THE INTERRUPT IS NOT FROM THE DEVICE WE STARTED, THEN       03003000
       HRC011DK: *        LEAVE IN A WAIT STATE.  ELSE, HANDLE CSW STATUS.  FOR UNIT     03004000
       HRC011DK: *        CHECK, TRY TO RECOVER AT ERRECOV.  FOR CE+DE, CONTINUE AT      03005000
       HRC011DK: *        CLEANEND.                                                      03006000
       HRC011DK: *---------------------------------------------------------------------- 03007000
       HRC011DK:          SPACE ,                                                        03008000
       HRC011DK: IOINT    LH    R4,IOOPSW+2    GET DEVICE ADDRESS                        03009000
       HRC011DK:          CH    R4,CONSOL      WAS IT CONSOLE DEVICE?                    03010000
       HRC011DK:          BE    ATNTST         YES,CHECK FOR ATTENTION                   03011000
       HRC011DK:          CH    R5,IOOPSW+2    WAS IT DEVICE STARTED?                    03012000
       HRC011DK:          BNE   XWAIT          NO,WAIT FOR CORRECT ONE                   03013000
       HRC011DK:          TM    CSW+5,X'BF'    ANYTHING BUT INCORRECT LENGTH?            03014000
       HRC011DK:          BM    FATAL          IF MIXED ERRORS,GO FATAL                  03015000
       HRC011DK:          TM    CSW+4,UC       UNIT CHECK?                               03016000
       HRC011DK:          BO    ERRECOV        YES,GO TO ERROR RECOVERY                  03017000
       HRC011DK:          CLI   CSW+4,CE+DE    WAS IT CHANNEL END OR DEVICE END          03018000
       HRC011DK:          BE    CLEANEND       YES, CHECK FOR ALTERNATE TRACK            03019000
       HRC011DK:          CLI   CSW+4,CUE+CE+DE DID CUE SNEAK IN TOO?                    03020000
       HRC011DK:          BNE   FATAL          NOT UC & NOT CLEAN END.                   03021000
       HRC011DK:          SPACE ,                                                        03022000
       HRC011DK: *---------------------------------------------------------------------- 03023000
       HRC011DK: *        THE INTERRUPT WAS A CLEAN CE+DE:                               03024000
       HRC011DK: *        IF ALTERNATE TRACK RECOVERY IS IN PROGRESS, THEN GO TO EITHER  03025000
       HRC011DK: *        ALTCHK2 OR ALTCHK3.                                            03026000
       HRC011DK: *---------------------------------------------------------------------- 03027000
       HRC011DK:          SPACE ,                                                        03028000
       HRC011DK: CLEANEND XC    ERCOUNT,ERCOUNT RESET.  THIS SUCCESSFUL CMPLETN          03029000
       HRC011DK: *                             COULD BE THE END OF AN ERROR RETRY.       03030000
       HRC011DK:          XC    TOTCNT,TOTCNT  CLEAR THE TOTAL ERROR COUNT               03031000
       HRC011DK:          TM    ALTFLAG,HAR0READ ALTERNATE TRACK RECOVERY IN             03032000
       HRC011DK: *                               PROGRESS?                               03033000
       HRC011DK:          BZ    RESUMP         NO, CONTINUE WITH MAIN LOGIC.             03034000
       HRC011DK:          L     R6,CONTINAD    ADDR OF CODE WHERE ALT TRACK              03035000
       HRC011DK: *                             RECOVERY PROCESSING IS TO CONTINUE.       03036000
       HRC011DK:          BR    R6                                                       03037000
       HRC011DK:          SPACE ,                                                        03038000
       HRC011DK: *---------------------------------------------------------------------- 03039000
       HRC011DK: *        UNIT CHECK RECOVERY.  ISSUE SENSE AND EVALUATE SENSE BYTES.    03040000
       HRC011DK: *        FOR A TRACK CONDITION CHECK, GO TO ALTTRACK TO SWITCH TRACK    03041000
       HRC011DK: *        TO ALTERNATE FOR 3340/3344.                                    03042000
       HRC011DK: *---------------------------------------------------------------------- 03043000
       HRC011DK:          SPACE ,                                                        03044000
       HRC011DK: ERRECOV  BAL   R7,SENSIT      READ SENSE DATA, THEN RESTORE             03045000
       HRC011DK: *                             CSW, CAW, IOOPSW.                         03046000
       HRC011DK:          L     R4,TOTCNT      GET TOTAL COUNT OF ERRORS ON SIO          03047000
       HRC011DK:          LA    R4,1(R4)       INCREMENT BY 1                            03048000
       HRC011DK:          ST    R4,TOTCNT      SAVE THE COUNT                            03049000
       HRC011DK:          C     R4,TOTLIMIT    TOO MANY SIO'S                            03050000
       HRC011DK:          BH    PRTMSG         YES, JUST TERMINATE WITH MESSAGE          03051000
       HRC011DK:          TM    SENSEB0,X'02'  TRACK CONDITION CHECK?                    03052000
       HRC011DK:          BNO   NOSWTCH        NO, TRACK NOT FLAGGED.                    03053000
       HRC011DK:          CLI   TYPE,TYP334X   DEVICE IS 3340/3344?                      03054000
       HRC011DK:          BE    ALTTRACK       YES.  GO SWITCH TRACKS.                   03055000
       HRC011DK:          SPACE ,                                                        03056000
       HRC011DK: *---------------------------------------------------------------------- 03057000
       HRC011DK: *        GO RESTART THE DEVICE AT STIO.                                 03058000
       HRC011DK: *---------------------------------------------------------------------- 03059000
       HRC011DK:          SPACE ,                                                        03060000
       HRC011DK: NOSWTCH  DS    0H                                                       03061000
       HRC011DK:          CLC   CSW(L8),SAVEDCSW SAME ERROR (AT SAME CCW) AS             03062000
       HRC011DK: *                             BEFORE?                                   03063000
       HRC011DK:          MVC   SAVEDCSW(L8),CSW SAVE FOR COMPARE NEXT TIME.             03064000
       HRC011DK:          BE    COUNT          IF SAME ERROR,BRANCH                      03065000
       HRC011DK:          XC    ERCOUNT(4),ERCOUNT CLEAR ERROR COUNT                     03066000
       HRC011DK:          B     STIO           START DEVICE                              03067000
       HRC011DK: *---------------------------------------------------------------------- 03068000
       HRC011DK: *        INCREMENT REPEAT ERROR COUNT.  FOR A NORMAL CKD, EITHER GO TO  03069000
       HRC011DK: *        RECAL TO RECALIBRATE THE DEVICE OR GO RETRY THE CCWS IF THIS   03070000
       HRC011DK: *        IS FIRST OR SECOND TIME THROUGH.                               03071000
       HRC011DK: *---------------------------------------------------------------------- 03072000
       HRC011DK:          SPACE ,                                                        03073000
       HRC011DK: COUNT    L     R4,ERCOUNT     PUT ERROR COUNT INTO R4                   03074000
       HRC011DK:          LA    R4,1(4)        UP ERROR COUNT BY 1                       03075000
       HRC011DK:          ST    R4,ERCOUNT     SAVE ERROR COUNT                          03076000
       HRC011DK:          C     R4,=F'1'       IS IT FIRST ERROR?                        03077000
       HRC011DK:          BE    RECAL          YES,RECALIBRATE DEVICE                    03078000
       HRC011DK:          C     R4,=F'2'       IS IT SECOND ERROR                        03079000
       HRC011DK:          BE    RESET          YES,RETRY CCWS                            03080000
       HRC011DK:          SPACE ,                                                        03081000
       HRC011DK: *---------------------------------------------------------------------- 03082000
       HRC011DK: *        IF THE CCW FAILED 10 TIMES, CONTINUE HANDLING POSSIBLE FATAL   03083000
       HRC011DK: *        ERROR CONDITION.  IF LESS THAN 10, GO RESTART DEVICE.          03084000
       HRC011DK: *---------------------------------------------------------------------- 03085000
       HRC011DK:          SPACE ,                                                        03086000
       HRC011DK: RSTRTN   C     R4,ERLIMIT     IS ERROR LIMIT OF 9 REACHED?              03087000
       HRC011DK:          BL    STIO           IF NO, TRY AGAIN                          03088000
       HRC011DK:          XC    ERCOUNT,ERCOUNT  IF YES,CLEAR ERROR COUNT                03089000
       HRC011DK:          XC    TOTCNT,TOTCNT  CLEAR TOTAL ERROR COUNT                   03090000
       HRC011DK:          XC    SAVEDCSW(8),SAVEDCSW CLEAR SAVED CSW                     03091000
       HRC011DK:          SPACE ,                                                        03092000
       HRC011DK: *---------------------------------------------------------------------- 03093000
       HRC011DK: *        HANDLE FAILING CKD CCW.  LOCATE THE SEEK CCW AND ADDR OF THE   03094000
       HRC011DK: *        DATA AREA FROM THE NON-SEEK CCW ALSO.  PICK UP THE CCHHR INFO  03095000
       HRC011DK: *        TO PUT IN THE ERROR MESSAGE.  AFTER PRINTING SENSE AND CCHH    03096000
       HRC011DK: *        MESSAGE, POINT TO THE FAILING CCW AND HANDLE SPECIFIC CCW      03097000
       HRC011DK: *        TYPE ACCORDINGLY.                                              03098000
       HRC011DK: *---------------------------------------------------------------------- 03099000
       HRC011DK:          SPACE ,                                                        03100000
       HRC011DK: FINDCCW  EQU   *                                                        03101000
       HRC011DK:          L     R4,CSW         PUT NEXT CCW ADDRESS INTO R4              03102000
       HRC011DK: SUB      S     R4,=F'8'       GET PREVIOUS CCW ADDRESS                  03103000
       HRC011DK: SUB2     CLI   0(4),X'07'     IS IT A SEEK?                             03104000
       HRC011DK:          BE    SUB3           NO,GET PREVIOUS CCW                       03105000
       HRC011DK:          CLI   0(R4),LOCREC   THIS A LOC REC CCW?                       03106000
       HRC011DK:          BNE   SUB            NO,CONTINUE TO SEARCH                     03107000
       HRC011DK:          L     R4,0(,R4)      GET 1ST HALF OF CCW                       03108000
       HRC011DK:          LA    R4,0(,R4)      CLEAR OP CODE                             03109000
       HRC011DK:          MVC   CCHHR(L5),D8(R4) PICK UP CCHHR INFO                      03110000
       HRC011DK:          B     PRTMSG         GO PRINT MESSAGE                          03111000
       HRC011DK: SUB3     DS    0H                                                       03112000
       HRC011DK:          L     R4,0(R4)       ADDRESS OF CCW DATA AREA IN R4            03113000
       HRC011DK:          LA    R4,0(R4)       CLEARS COMMAND CODE FROM R4               03114000
       HRC011DK:          MVC   CCHHR(5),2(R4) SAVE THE CCHHR THAT FAILED                03115000
       HRC011DK: PRTMSG   DS    0H                                                       03116000
       HRC011DK:          BAL   R7,SENSIT2     PRINT SENSE AND CCHH MESSAGE              03117000
       HRC011DK:          TM    SENSEB0,CMDREJ COMMAND REJECT?                           03118000
       HRC011DK:          BO    FATAL          YES, NO SENSE IN RECOVERY TRY             03119000
       HRC011DK:          L     R4,CSW         PUT NEXT CCW ADDRESS INTO R4              03120000
       HRC011DK:          S     R4,=F'8'       R4 NOW POINTS TO FAILING CCW              03121000
       HRC011DK:          SPACE ,                                                        03122000
       HRC011DK: *---------------------------------------------------------------------- 03123000
       HRC011DK: *        FOR A READ OR SEARCH ID EQUAL CCW, GO TO 'READER06' OR         03124000
       HRC011DK: *        'READER31' TO TRY TO REBUILD THE STRING AND THEN RESTART THE   03125000
       HRC011DK: *        DEVICE.                                                        03126000
       HRC011DK: *---------------------------------------------------------------------- 03127000
       HRC011DK:          SPACE ,                                                        03128000
       HRC011DK:          CLI   0(R4),SEEK     SEEK (07) CCW?                            03129000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03130000
       HRC011DK:          CLI   0(R4),STSCTR   SET SECTOR (23) CCW?                      03131000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03132000
       HRC011DK:          CLI   0(R4),WCKD     WRITE COUNT-KEY-DATA (1D) CCW?            03133000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03134000
       HRC011DK:          CLI   0(R4),WHADDR   WRITE HOME ADDRESS (19) CCW?              03135000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03136000
       HRC011DK:          CLI   0(R4),WTREC0   WRITE RECORD 0 (15) CCW?                  03137000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03138000
       HRC011DK:          CLI   0(R4),WRTD     WRITE DATA (05) CCW?                      03139000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03140000
       HRC011DK:          CLI   0(R4),SFM      SET FILE MASK (1F) CCW?                   03141000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03142000
       HRC011DK:          CLI   0(R4),RHADDR   READ HOME ADDRESS (1A) CCW?               03143000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03144000
       HRC011DK:          CLI   0(R4),RDREC0   READ RECORD 0 (16) CCW?                   03145000
       HRC011DK:          BE    FATAL          YES, FAILED TO WRITE CYL 0                03146000
       HRC011DK:          CLI   0(R4),RCKD     READ COUNT-KEY-DATA (1E) CCW?             03147000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03148000
       HRC011DK:          CLI   0(R4),DEFEXT   DEFINE EXTENT (63) CCW?                   03149000
       HRC011DK:          BE    FATAL          YES, PRINT FATAL MESSAGE                  03150000
       HRC011DK:          CLI   0(R4),READ     READ (06) CCW?                            03151000
       HRC011DK:          BE    READER06       YES, GO REBUILD THE STRING                03152000
       HRC011DK:          CLI   0(R4),SIEQ     SEARCH ID EQUAL (31) CCW?                 03153000
       HRC011DK:          BE    READER31       YES, GO REBUILD THE STRING                03154000
       HRC011DK:          SPACE ,                                                        03155000
       HRC011DK: *---------------------------------------------------------------------- 03156000
       HRC011DK: *        IF THE FAILING CCW WAS SOMETHING OTHER THAN ABOVE, THEN POINT  03157000
       HRC011DK: *        TO NEXT CCW.  AS LONG AS COMMAND CHAINING IS ON, KEEP          03158000
       HRC011DK: *        SEARCHING FOR A SEEK CCW DOWN THE CHAIN.  WHEN FOUND GO TO     03159000
       HRC011DK: *        'FOUND'.                                                       03160000
       HRC011DK: *---------------------------------------------------------------------- 03161000
       HRC011DK:          SPACE ,                                                        03162000
       HRC011DK: CCWSRCH1 TM    4(R4),CC       COMMAND CHAINING ??                       03163000
       HRC011DK:          BZ    FATAL          NO, FATAL ERROR                           03164000
       HRC011DK: CCWSRCH  LA    R4,8(R4)       R4 POINTS TO NEXT CCW                     03165000
       HRC011DK:          CLI   0(R4),8        IS THIS A TIC CCW ?                       03166000
       HRC011DK:          BE    CCWTIC         YES, GO PROCESS                           03167000
       HRC011DK:          CLI   0(4),X'07'     WAS IT SEEK?                              03168000
       HRC011DK:          BE    FOUND          YES,GO FOUND                              03169000
       HRC011DK:          B     CCWSRCH1       NO, TRY AGAIN                             03170000
       HRC011DK: CCWTIC   CLM   (R4),B'0111',1(R4) TIC BACK OR FORWARD ?                 03171000
       HRC011DK:          BNH   CCWSRCH        BRANCH IF FORWARD                         03172000
       HRC011DK:          L     R4,0(,R4)      GET TIC TO ADDRESS                        03173000
       HRC011DK:          LA    R4,0(,R4)      CLEAR COMMAND CODE                        03174000
       HRC011DK:          B     CCWSRCH1       KEEP LOOKING FOR 07                       03175000
       HRC011DK: *---------------------------------------------------------------------- 03176000
       HRC011DK: *        THE NEXT SEEK IN THE STRING WAS FOUND FOLLOWING THE FAILING    03177000
       HRC011DK: *        CCW.  RESTART THE STRING BY TIC'ING TO THIS SEEK.  RESUMCCW    03178000
       HRC011DK: *        IS USED HERE ONLY TO PICK UP THE BROKEN CCW STRING.            03179000
       HRC011DK: *---------------------------------------------------------------------- 03180000
       HRC011DK:          SPACE ,                                                        03181000
       HRC011DK: FOUND    ST    R4,RESUMCCW+8  ADDRESS OF SEEK CCW INTO TIC              03182000
       HRC011DK:          MVI   RESUMCCW+8,X'08' RESTORE TO TIC COMMAND                  03183000
       HRC011DK:          LA    R9,RESUMCCW    CCW ADDRESS INTO R9                       03184000
       HRC011DK:          ST    R9,CAW         CCW ADDRESS INTO CAW                      03185000
       HRC011DK:          LH    R5,DSKADD      DEVICE INTO R5                            03186000
       HRC011DK:          B     STIO           START DEVICE                              03187000
       HRC011DK:          SPACE ,                                                        03188000
       HRC011DK: *---------------------------------------------------------------------- 03189000
       HRC011DK: *        CONSOLE INTERRUPT FOUND BY DASD I/O INTERRUPT ROUTINE.         03190000
       HRC011DK: *---------------------------------------------------------------------- 03191000
       HRC011DK:          SPACE ,                                                        03192000
       HRC011DK: ATNTST   TM    68,X'80'       WAS IT ATTENTION?                         03193000
       HRC011DK:          BCR   8,R14          NO,MUST BE FOR CONSOLE WRITE              03194000
       HRC011DK:          B     STMSG          START OVER                                03195000
       HRC011DK:          SPACE ,                                                        03196000
       HRC011DK: *---------------------------------------------------------------------- 03197000
       HRC011DK: *        PERFORM A RECALIBRATE ON THE FAILING DEVICE, THEN TIC TO THE   03198000
       HRC011DK: *        NORMAL 2314 CCW CHAIN.                                         03199000
       HRC011DK: *---------------------------------------------------------------------- 03200000
       HRC011DK:          SPACE ,                                                        03201000
       HRC011DK: RECAL    EQU   *              HERE TO SET UP FOR RECALIBRATE            03202000
       HRC011DK:          LA    R9,CALIBRAT    ADDRESS OF RECAL. CCW                     03203000
       HRC011DK:          C     R9,CAW         CAW ALREADY POINTING TO IT ??             03204000
       HRC011DK:          BE    RECAL1         YES, PREVENT TIC TO RECAL LOOP            03205000
       HRC011DK:          MVC   CALIBRAT+9(3),CAW+1 CAUSE TIC TO FORMAT CCWS             03206000
       HRC011DK: RECAL1   EQU   *              BR HERE MEANS TIC ALREADY SET             03207000
       HRC011DK:          ST    R9,CAW         CAW POINTS TO CALIBRATE CCWS              03208000
       HRC011DK:          LH    R5,DSKADD      DEVICE ADDRESS INTO R5                    03209000
       HRC011DK:          B     STIO           START DEVICE                              03210000
       HRC011DK:          SPACE ,                                                        03211000
       HRC011DK: *---------------------------------------------------------------------- 03212000
       HRC011DK: *        SECOND ERROR - RESET TO NORMAL 2314 CCW CHAIN.                 03213000
       HRC011DK: *---------------------------------------------------------------------- 03214000
       HRC011DK:          SPACE ,                                                        03215000
       HRC011DK: RESET    MVC   CAW+1(3),CALIBRAT+9  CAW POINTS TO NORMAL 2314 CCWS      03216000
       HRC011DK:          B     RSTRTN         GO CHECK ERROR COUNT                      03217000
       HRC011DK: *.3******************************************************************** 03218000
       HRC011DK: *                                                                       03219000
       HRC011DK: * OPERATION -                                                           03220000
       HRC011DK: *                                                                       03221000
       HRC011DK: * EE. HANDLE TRACK CONDITION CHECK                                      03222000
       HRC011DK: *                                                                       03223000
       HRC011DK: *        COME HERE FROM OP DD AFTER DASD INTERRUPT, DURING ERROR        03224000
       HRC011DK: *        RECOVERY FROM UNIT CHECK, FOR A TRACK CONDITION CHECK ON A     03225000
       HRC011DK: *        3340/3344.  RESTART WITH A SEEK TO THE ALTERNATE OR RESTART    03226000
       HRC011DK: *        WITH A SEEK BACK TO THE DEFECTIVE TRACK + 1.                   03227000
       HRC011DK: *                                                                       03228000
       HRC011DK: *        1. SAVE THE ADDRESS OF THE FAILING CCW.                        03229000
       HRC011DK: *        2. CALL ALTCHK TO DETERMINE WHETHER THE FLAGGED TRACK HAS AN   03230000
       HRC011DK: *           ALTERNATE TRACK.  IF NOT, GO TO STEP 4.                     03231000
       HRC011DK: *        3. RESTART THE BROKEN CCW CHAIN USING THE ALTERNATE TRACK.     03232000
       HRC011DK: *        4. ISSUE MESSAGE THAT THE FLAGGED PRIMARY TRACK DOES NOT HAVE  03233000
       HRC011DK: *           AN ALTERNATE.                                               03234000
       HRC011DK: *                                                                       03235000
       HRC011DK: * LOCAL REGISTER USAGE -                                                03236000
       HRC011DK: *                                                                       03237000
       HRC011DK: *        R0  - ALTCHK PARAMETER                                         03238000
       HRC011DK: *        R1  - WORK                                                     03239000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          03240000
       HRC011DK: *        R7  - LINKAGE                                                  03241000
       HRC011DK: *        R14 - LINKAGE                                                  03242000
       HRC011DK: *                                                                       03243000
       HRC011DK: *.$******************************************************************** 03244000
       HRC011DK:          SPACE ,                                                        03245000
       HRC011DK: ALTTRACK L     R1,CSW         GET FAILED CCW + 8.                       03246000
       HRC011DK:          SH    R1,=H'8'       POINT TO FAILING CCW.                     03247000
       HRC011DK:          STCM  R1,B'0111',ALTTIC+1 SAVE ITS ADDR IN TIC FOR             03248000
       HRC011DK: *                             RESTART LATER                             03249000
       HRC011DK:          SPACE ,                                                        03250000
       HRC011DK: *---------------------------------------------------------------------- 03251000
       HRC011DK: *        ALTCHK ROUTINE DETERMINES WHETHER OR NOT FLAGGED TRACK POINTS  03252000
       HRC011DK: *        TO AN ALTERNATE WITH ALTERNATE POINTING BACK.  IF POINTERS ARE 03253000
       HRC011DK: *        BAD, THEN R1 = -1 IS RETURNED.  IF POINTERS ARE GOOD, THEN     03254000
       HRC011DK: *        R1 = CCHH IS RETURNED, WITH CCHH BEING THE SEEK ADDRESS OF THE 03255000
       HRC011DK: *        OTHER TRACK (NOT THE ONE THAT GAVE THE TRACK CONDITION CHECK,  03256000
       HRC011DK: *        BUT THE ONE THAT THAT ONE POINTS TO).  R0 = 0 IF CCHH IN R1    03257000
       HRC011DK: *        IS THE ASSIGNED ALTERNATE TRACK OR R0 = 1 IF CCHH IN R1 IS THE 03258000
       HRC011DK: *        PRIMARY TRACK.                                                 03259000
       HRC011DK: *                                                                       03260000
       HRC011DK: *        IF CCHH IN R1 IS PRIMARY, THEN ADD R0 TO IT TO CAUSE SEEK      03261000
       HRC011DK: *        BACK TO PRIMARY + 1.  (NOTE:  DUE TO NATURE OF CHANNEL         03262000
       HRC011DK: *        PROGRAMS USED TO FORMAT, THIS WILL NEVER GO BEYOND LAST TRACK  03263000
       HRC011DK: *        IN CYLINDER.  IF LAST TRACK IS FLAGGED, THAT IS WHERE CHANNEL  03264000
       HRC011DK: *        PROGRAM ENDS ANYWAY, THERE IS NO SUBSEQUENT SEEK OFF OF        03265000
       HRC011DK: *        ALTERNATE TO CAUSE TRACK CONDITION CHECK FROM THERE.)          03266000
       HRC011DK: *---------------------------------------------------------------------- 03267000
       HRC011DK:          SPACE ,                                                        03268000
       HRC011DK:          BAL   R7,ALTCHK      CHECK FOR ALTERNATE TRACK                 03269000
       HRC011DK:          LTR   R1,R1          DOES FLAGGED TRK HAVE ALTERNATE?          03270000
       HRC011DK:          BM    ALTBAD         NO.  FATAL ERROR.  ISSUE MSGS.            03271000
       HRC011DK:          AR    R1,R0          SEEK BACK TO PRIMARY + 1.                 03272000
       HRC011DK:          STCM  R1,15,ALTSKADD+2 STORE FOR SEEK CCW.                     03273000
       HRC011DK:          SPACE ,                                                        03274000
       HRC011DK: *---------------------------------------------------------------------- 03275000
       HRC011DK: *        RESTART BROKEN CCW CHAIN                                       03276000
       HRC011DK: *---------------------------------------------------------------------- 03277000
       HRC011DK:          SPACE ,                                                        03278000
       HRC011DK:          LA    R1,ALTSEEK     RESTART CCWS APPENDED TO FAILED           03279000
       HRC011DK: *                             CCW.                                      03280000
       HRC011DK:          ST    R1,CAW         SET FOR SIO.                              03281000
       HRC011DK:          B     STIO           RESTART THE CHANNEL PROGRAM.              03282000
       HRC011DK:          SPACE ,                                                        03283000
       HRC011DK: *---------------------------------------------------------------------- 03284000
       HRC011DK: *        ISSUE MESSAGE 'FLAGGED PRIMARY TRACK HAS NO ALTERNATE          03285000
       HRC011DK: *        ASSIGNED, IO ERROR FOLLOWS'.  THEN ISSUE MESSAGE GIVING CCHH   03286000
       HRC011DK: *        OF BAD TRACK.                                                  03287000
       HRC011DK: *---------------------------------------------------------------------- 03288000
       HRC011DK:          SPACE ,                                                        03289000
       HRC011DK: ALTBAD   LA    R4,MSGATRK     MSG SAYS FLAGGED TRACK HAS NO             03290000
       HRC011DK: *                             ALTERNATE ASSIGNED.                       03291000
       HRC011DK:          BAL   R14,WMSG                                                 03292000
       HRC011DK:          BAL   R7,SENSIT2     PRT MSG GIVING CCHH OF BAD TRACK.         03293000
       HRC011DK:          B     FATAL          GIVE FATAL MSG, THEN RESTART.             03294000
       HRC011DK: *.3******************************************************************** 03295000
       HRC011DK: *                                                                       03296000
       HRC011DK: * OPERATION -                                                           03297000
       HRC011DK: *                                                                       03298000
       HRC011DK: * FF. HANDLE READ OR SEARCH ID FAILURE                                  03299000
       HRC011DK: *                                                                       03300000
       HRC011DK: *        1. IF THIS IS FOR A FILLER RECORD, THEN GO TO STEP 4.  IF THIS 03301000
       HRC011DK: *           IS FOR RECORD 0, FATAL ERROR.  IF NOT FOR CYLINDER BYTE MAP 03302000
       HRC011DK: *           GO TO STEP 3.                                               03303000
       HRC011DK: *        2. HANDLE CYLINDER BYTE MAP.                                   03304000
       HRC011DK: *        3. INCREMENT THE PAGE ERROR COUNT.                             03305000
       HRC011DK: *        4. POINT TO NEXT SEARCH ID AND THEN BACK UP TO THE SEEK.       03306000
       HRC011DK: *        5. BUILD THE SEEK CCW FOR THE RETRY STRING AND THEN GO RESTART 03307000
       HRC011DK: *           I/O TO THE DEVICE.                                          03308000
       HRC011DK: *                                                                       03309000
       HRC011DK: * LOCAL REGISTER USAGE -                                                03310000
       HRC011DK: *                                                                       03311000
       HRC011DK: *        R3  - RECORD NUMBER                                            03312000
       HRC011DK: *        R4  - CCW ADDRESS                                              03313000
       HRC011DK: *        R5  - DATA ADDRESS                                             03314000
       HRC011DK: *        R7  - WORK                                                     03315000
       HRC011DK: *        R9  - RETRY CHANNEL PROGRAM ADDRESS                            03316000
       HRC011DK: *                                                                       03317000
       HRC011DK: *.$******************************************************************** 03318000
       HRC011DK:          SPACE ,                                                        03319000
       HRC011DK: READER06 S     R4,=F'16'      R4 POINTS TO SEARCH ID CCW                03320000
       HRC011DK: READER31 L     R5,0(R4)       R5 CONTAINS DATA ADDRESS                  03321000
       HRC011DK:          SR    R3,R3          CLEAR R3                                  03322000
       HRC011DK:          ICM   R3,1,4(R5)     PUT REC NUMBER INTO R3                    03323000
       HRC011DK:          BM    READTRY        BRANCH IF FILLER RECORD                   03324000
       HRC011DK:          BZ    FATAL          BRANCH IF RECORD ZERO                     03325000
       HRC011DK:          CLC   SEEKA+2(2),=X'0000' IS IT CYLINDER 0                     03326000
       HRC011DK:          BNE   PAGECT         NO, BYPASS CYLINDER BIT MAP               03327000
       HRC011DK:          CLM   R3,1,RECN4     IS PAGE COUNT GREATER THAN 4              03328000
       HRC011DK:          BH    PAGECT         YES, BYPASS CYLINDER BIT MAP              03329000
       HRC011DK:          BCTR  R3,0           DECREASE RECORD NUMBER BY 1               03330000
       HRC011DK:          STC   R3,SHIFT+3     CAUSE SHIFT OF VALUE IN R3                03331000
       HRC011DK:          L     R7,SHIFTMSK    PUT 80 00 00 00 INTO R7                   03332000
       HRC011DK: SHIFT    SRL   R7,0           SHIFT RIGHT BY VALUE IN R3                03333000
       HRC011DK:          O     R7,R0STUF      OR IN R0 CYLINDER BIT MAP                 03334000
       HRC011DK:          ST    R7,R0STUF      PUT RESULT BACK                           03335000
       HRC011DK: PAGECT   EQU   *              COUNT PAGE ERRORS                         03336000
       HRC011DK:          L     R3,PGCOUNT     PUT PGCOUNT INTO R3                       03337000
       HRC011DK:          LA    R3,1(R3)       UP PAGE COUNT BY 1                        03338000
       HRC011DK:          ST    R3,PGCOUNT     SAVE UPDATED PGCOUNT                      03339000
       HRC011DK:          SPACE ,                                                        03340000
       HRC011DK: *---------------------------------------------------------------------- 03341000
       HRC011DK: *        USE TO RESTART CCW CHAIN AFTER ERROR                           03342000
       HRC011DK: *---------------------------------------------------------------------- 03343000
       HRC011DK:          SPACE ,                                                        03344000
       HRC011DK: READTRY  LA    R4,24(R4)      POINT TO NEXT SEARCH ID                   03345000
       HRC011DK:          ST    R4,PICKUP      BUILD TIC TO NEXT SEARCH ID               03346000
       HRC011DK:          MVI   PICKUP,X'08'   PUT TIC COMMAND IN CCW                    03347000
       HRC011DK:          CLI   0(R4),X'07'    IS NEXT SEARCH ID REALLY A SEEK?          03348000
       HRC011DK:          BE    SKFOUND        YES,BRANCH                                03349000
       HRC011DK: SEEKSEEK S     R4,=F'8'       NO,BACK UP 1 CCW                          03350000
       HRC011DK:          CLI   0(R4),X'07'    IS IT A SEEK?                             03351000
       HRC011DK:          BNE   SEEKSEEK       NO, BACK UP AGAIN                         03352000
       HRC011DK: SKFOUND  MVC   RDRTRY(8),0(R4)  BUILD SEEK CCW                          03353000
       HRC011DK:          LA    R9,RDRTRY      ADDRESS OF CCW INTO R9                    03354000
       HRC011DK:          ST    R9,CAW         ADDRESS OF CCW INTO CAW                   03355000
       HRC011DK:          LH    R5,DSKADD      DEVICE ADDRESS INTO R5                    03356000
       HRC011DK:          B     STIO           GO TO START DEVICE                        03357000
       HRC011DK: *---------------------------------------------------------------------- 03358000
       HRC011DK: *                                                                       03359000
       HRC011DK: *                                                                       03360000
       HRC011DK: *                                                                       03361000
       HRC011DK: *                                                                       03362000
       HRC011DK: *                                                                       03363000
       HRC011DK: *                                                                       03364000
       HRC011DK: *                                                                       03365000
       HRC011DK: *                                                                       03366000
       HRC011DK: *                                                                       03367000
       HRC011DK: *                                                                       03368000
       HRC011DK: *                                                                       03369000
       HRC011DK: *                                                                       03370000
       HRC011DK: *                                                                       03371000
       HRC011DK: *********************************************************************** 03372000
       HRC011DK: *********************************************************************** 03373000
       HRC011DK: **********************                       ************************** 03374000
       HRC011DK: ********************** S U B R O U T I N E S ************************** 03375000
       HRC011DK: **********************                       ************************** 03376000
       HRC011DK: *********************************************************************** 03377000
       HRC011DK: *********************************************************************** 03378000
       HRC011DK: *                                                                       03379000
       HRC011DK: *                                                                       03380000
       HRC011DK: *                                                                       03381000
       HRC011DK: *                                                                       03382000
       HRC011DK: *                                                                       03383000
       HRC011DK: *                                                                       03384000
       HRC011DK: *                                                                       03385000
       HRC011DK: *                                                                       03386000
       HRC011DK: *                                                                       03387000
       HRC011DK: *                                                                       03388000
       HRC011DK: *                                                                       03389000
       HRC011DK: *                                                                       03390000
       HRC011DK: *                                                                       03391000
       HRC011DK: *---------------------------------------------------------------------- 03392000
       HRC011DK: *.4******************************************************************** 03393000
       HRC011DK: *                                                                       03394000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            03395000
       HRC011DK: *                         *    LNGCALC     *                            03396000
       HRC011DK: *                         *----------------*                            03397000
       HRC011DK: *                                                                       03398000
       HRC011DK: * FUNCTION -                                                            03399000
       HRC011DK: *                                                                       03400000
       HRC011DK: *        CALCULATE LENGTH OF WORD IN FIELD "INDATA" AND STORE INTO      03401000
       HRC011DK: *        COMMON WORK AREA.                                              03402000
       HRC011DK: *                                                                       03403000
       HRC011DK: * INPUT REGISTERS -                                                     03404000
       HRC011DK: *                                                                       03405000
       HRC011DK: *        R14 - RETURN ADDRESS                                           03406000
       HRC011DK: *                                                                       03407000
       HRC011DK: * OUTPUT REGISTERS -                                                    03408000
       HRC011DK: *                                                                       03409000
       HRC011DK: *        R4  - LENGTH(WORD) - 1                                         03410000
       HRC011DK: *                                                                       03411000
       HRC011DK: * LOCAL REGISTER USAGE -                                                03412000
       HRC011DK: *                                                                       03413000
       HRC011DK: *        R4  - LENGTH WORD-1 FOR EXECUTE                                03414000
       HRC011DK: *        R14 - INDATA                                                   03415000
       HRC011DK: *                                                                       03416000
       HRC011DK: * OPERATION -                                                           03417000
       HRC011DK: *                                                                       03418000
       HRC011DK: *        1. SCAN FIELD UNTIL BLANK IS FOUND.  RESIDUAL LENGTH WILL BE   03419000
       HRC011DK: *           IN R4.                                                      03420000
       HRC011DK: *        2. IF THE FIELD EXISTS, THEN SAVE IT INDATA FIELD IN THE       03421000
       HRC011DK: *           COMMON WORK AREA.                                           03422000
       HRC011DK: *        3. SET THE CONDITION CODE AND RETURN TO CALLER.                03423000
       HRC011DK: *           CC SET TO 0 IF 0 < L'WORD <= 8  AND  R4 = LENGTH-1.         03424000
       HRC011DK: *           ELSE CC ¬=0 AND R4 IS UNPREDICTABLE.                        03425000
       HRC011DK: *                                                                       03426000
       HRC011DK: *.$******************************************************************** 03427000
       HRC011DK:          SPACE ,                                                        03428000
       HRC011DK:          DS    0F                                                       03429000
       HRC011DK: LNGCALC  EQU   *                                                        03430000
       HRC011DK:          ST    R14,REGSAV     SAVE CALLERS RETURN ADDRESS               03431000
       HRC011DK:          OC    INDATA(8),BLANKS8 SET TO UPPER CASE OR BLANKS            03432000
       HRC011DK:          OC    INDATA+8(2),BLANKS8 .....                                03433000
       HRC011DK:          LA    R14,INDATA     SCAN FOR L'INPUT-DATA                     03434000
       HRC011DK:          LA    R4,9           MAX LENGTH +1                             03435000
       HRC011DK:          SPACE ,                                                        03436000
       HRC011DK: *---------------------------------------------------------------------- 03437000
       HRC011DK: *        SCAN LENGTH OF WORD (UNTIL BLANK IS FOUND).                    03438000
       HRC011DK: *---------------------------------------------------------------------- 03439000
       HRC011DK:          SPACE ,                                                        03440000
       HRC011DK: SCNWRD   CLI   0(R14),X'40'   BLANK ?                                   03441000
       HRC011DK:          BE    ENDSCN         IF SO, END OF WORD                        03442000
       HRC011DK:          LA    R14,1(,R14)    NEXT BYTE PLEASE .....                    03443000
       HRC011DK:          BCT   R4,SCNWRD      CONTINUE SCAN .....                       03444000
       HRC011DK:          B     EXCC1          GT 8, EXIT CC ¬= 0                        03445000
       HRC011DK:          SPACE ,                                                        03446000
       HRC011DK: *---------------------------------------------------------------------- 03447000
       HRC011DK: *        IF LENGTH IS NON-ZERO, THEN STORE INDATA IN THE COMMON WORK.   03448000
       HRC011DK: *---------------------------------------------------------------------- 03449000
       HRC011DK:          SPACE ,                                                        03450000
       HRC011DK: ENDSCN   LR    R14,R4         SAVE RESIDUAL LENGTH                      03451000
       HRC011DK:          LA    R4,8           CALC LENGTH (-1)                          03452000
       HRC011DK:          SR    R4,R14         LENGTH (-1)                               03453000
       HRC011DK:          BM    EXCC1          BR IF NOTHING THERE                       03454000
       HRC011DK:          EX    R4,MVCCOMW     MOVE TO WORK AREA                         03455000
       HRC011DK:          SPACE ,                                                        03456000
       HRC011DK: *---------------------------------------------------------------------- 03457000
       HRC011DK: *        SET CONDITION CODE AND RETURN.                                 03458000
       HRC011DK: *---------------------------------------------------------------------- 03459000
       HRC011DK:          SPACE ,                                                        03460000
       HRC011DK:          TM    *,X'00'        SET CC = 0                                03461000
       HRC011DK:          B     LNGEXIT        AND RETURN TO CALLER                      03462000
       HRC011DK: EXCC1    TM    *,X'FF'        SET CC ¬= 0                               03463000
       HRC011DK: LNGEXIT  L     R14,REGSAV     RESTORE CALLERS REGS                      03464000
       HRC011DK:          BR    R14            AND RETURN ...........                    03465000
       HRC011DK: *.4******************************************************************** 03466000
       HRC011DK: *                                                                       03467000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            03468000
       HRC011DK: *                         *     WMSG       *                            03469000
       HRC011DK: *                         *     WMSG2      *                            03470000
       HRC011DK: *                         *----------------*                            03471000
       HRC011DK: *                                                                       03472000
       HRC011DK: * FUNCTION -                                                            03473000
       HRC011DK: *                                                                       03474000
       HRC011DK: *        WRITE TO THE CONSOLE.                                          03475000
       HRC011DK: *                                                                       03476000
       HRC011DK: * INPUT REGISTERS -                                                     03477000
       HRC011DK: *                                                                       03478000
       HRC011DK: *        R4  - MESSAGE ADDRESS                                          03479000
       HRC011DK: *        R14 - RETURN ADDRESS                                           03480000
       HRC011DK: *                                                                       03481000
       HRC011DK: * OUTPUT REGISTERS -                                                    03482000
       HRC011DK: *                                                                       03483000
       HRC011DK: *        R10 - CONSOLE ADDRESS                                          03484000
       HRC011DK: *                                                                       03485000
       HRC011DK: * LOCAL REGISTER USAGE -                                                03486000
       HRC011DK: *                                                                       03487000
       HRC011DK: *        R1  - WORK                                                     03488000
       HRC011DK: *        R4  - COUNT AND DATA POINTER                                   03489000
       HRC011DK: *        R9  - LENGTH OF MESSAGE TO BE PRINTED                          03490000
       HRC011DK: *        R10 - ADDRESS OF CONSOLE                                       03491000
       HRC011DK: *                                                                       03492000
       HRC011DK: * OPERATION -                                                           03493000
       HRC011DK: *                                                                       03494000
       HRC011DK: *        1. IF CARD INPUT COMPARE AND MAKE SURE NOT BAD INPUT.          03495000
       HRC011DK: *        2. LOAD ADDRESS OF CONSOLE AND STORE DATA LENGTH, DATA AREA,   03496000
       HRC011DK: *           AND PROPER WRITE COMMAND CODE IN WCCW.                      03497000
       HRC011DK: *        3. FOR GRAPHICS, SET UP PROPER CCWS.  ISSUE SIO TO DISPLAY     03498000
       HRC011DK: *           MESSAGE.                                                    03499000
       HRC011DK: *        4. HANDLE SIO CONDITION CODE APPROPRIATELY.                    03500000
       HRC011DK: *                                                                       03501000
       HRC011DK: *.$******************************************************************** 03502000
       HRC011DK:          SPACE ,                                                        03503000
       HRC011DK: *---------------------------------------------------------------------- 03504000
       HRC011DK: *        FOR CARD INPUT, SAVE14 IS USED TO SAVE THE RETURN ADDRESS FROM 03505000
       HRC011DK: *        EACH CALL.  IF THIS ROUTINE IS CALLED TWICE IN A ROW FROM THE  03506000
       HRC011DK: *        SAME PLACE, THEN PRINT INVALID OPERAND MESSAGE AND GO BACK TO  03507000
       HRC011DK: *        THE START AT STMSG.  SAVE4 IS USED BY RMSG ROUTINE TO          03508000
       HRC011DK: *        DETERMINE IF THE MESSAGE EXPECTS A RESPONSE.                   03509000
       HRC011DK: *---------------------------------------------------------------------- 03510000
       HRC011DK:          SPACE ,                                                        03511000
       HRC011DK: WMSG     CLI   CDSW2,X'00'    CARD SWITCH OFF?                          03512000
       HRC011DK:          BE    WMSG2          YES,BRANCH                                03513000
       HRC011DK:          LA    R14,0(,R14)    CLEAR HIGH ORDER BYTE .......             03514000
       HRC011DK:          CL    R14,SAVE14     IS R14 THE SAME?                          03515000
       HRC011DK:          BE    BADINPUT       THE SAME BRANCH                           03516000
       HRC011DK:          ST    R14,SAVE14     STORE NEW R14                             03517000
       HRC011DK:          ST    R4,SAVE4       SAVE R4                                   03518000
       HRC011DK:          SPACE ,                                                        03519000
       HRC011DK: *---------------------------------------------------------------------- 03520000
       HRC011DK: *        LOAD ADDRESS OF CONSOLE AND STORE DATA LENGTH, DATA AREA, AND  03521000
       HRC011DK: *        PROPER WRITE COMMAND CODE IN WCCW.                             03522000
       HRC011DK: *---------------------------------------------------------------------- 03523000
       HRC011DK:          SPACE ,                                                        03524000
       HRC011DK: WMSG2    LH    R10,CONSOL     WRITE MESSAGE                             03525000
       HRC011DK:          MVC   WCCW+7(1),0(R4) SET DATA LENGTH IN CCW                   03526000
       HRC011DK:          SR    R9,R9          ZERO IT                                   03527000
       HRC011DK:          IC    R9,0(,R4)      PICK UP THE LENGTH                        03528000
       HRC011DK:          LA    R9,0(R9,R4)    AND ADD IT TO THE MSG POINTER             03529000
       HRC011DK:          LA    R4,1(R4)       R4 NOW POINTS TO CCW DATA AREA            03530000
       HRC011DK:          ST    R4,WCCW        PUT ADDRESS OF DATA AREA IN CCW           03531000
       HRC011DK:          MVI   WCCW,X'09'     SET UP TO WRITE WITH CARR RETURN          03532000
       HRC011DK: *        IS IT, ENTER FORMAT OR ALLOCATE:                               03533000
       HRC011DK:          CLI   0(R9),C':'     DO I WANT A REPLY                         03534000
       HRC011DK:          BNE   *+8            NO- WRITE WITH CARR RETURN                03535000
       HRC011DK:          MVI   WCCW,X'01'     SET UP TO  WRITE WITHOUT CARR RETURN      03536000
       HRC011DK:          LA    R9,WCCW        R9 CONTAINS CCW ADDRESS                   03537000
       HRC011DK:          SPACE ,                                                        03538000
       HRC011DK: *---------------------------------------------------------------------- 03539000
       HRC011DK: *        FOR GRAPHIC DEVICES, SET UP THE PROPER CCW STRING TO HANDLE    03540000
       HRC011DK: *        GRAPHICS I/O.  THIS SUPPORT IS CHECKED FOR IN GRAPHID.  THEN   03541000
       HRC011DK: *        ISSUE THE SIO TO DISPLAY THE MESSAGE.                          03542000
       HRC011DK: *---------------------------------------------------------------------- 03543000
       HRC011DK:          SPACE ,                                                        03544000
       HRC011DK: STARTIO  EQU   *                                                        03545000
       HRC011DK:          BAL   R1,GRAPHID     GO CHECK FOR GRAPHIC SUPPORT              03546000
       HRC011DK: STARTIO1 EQU   *                                                        03547000
       HRC011DK:          XC    CSW,CSW        CLEAR CSW FIELD                           03548000
       HRC011DK:          ST    R9,CAW         SAVE CCW STRING ADDRESS IN CAW            03549000
       HRC011DK:          SIO   0(R10)         START DEVICE                              03550000
       HRC011DK:          BC    2,WAITIN       GO START LOOP AGAIN                       03551000
       HRC011DK:          BC    4,CSWSTOR      GO TEST STATUS                            03552000
       HRC011DK:          BC    1,NOTOPER      GO INDICATE NOT OPERATIONAL               03553000
       HRC011DK:          SPACE ,                                                        03554000
       HRC011DK: *---------------------------------------------------------------------- 03555000
       HRC011DK: *        GO TO INTERRUPT HANDLER AND WAIT UNTIL CONSOLE IS READY FOR US 03556000
       HRC011DK: *---------------------------------------------------------------------- 03557000
       HRC011DK:          SPACE ,                                                        03558000
       HRC011DK: WAITIN   EQU   *                                                        03559000
       HRC011DK:          LPSW  WAITCON        WAIT FOR CONSOLE TO GIVE                  03560000
       HRC011DK:          SPACE ,                                                        03561000
       HRC011DK: *---------------------------------------------------------------------- 03562000
       HRC011DK: *        NOT OPERATIONAL - GET DIFFERENT DEVICE ADDRESS AND TRY AGAIN.  03563000
       HRC011DK: *---------------------------------------------------------------------- 03564000
       HRC011DK:          SPACE ,                                                        03565000
       HRC011DK: NOTOPER  EQU   *                                                        03566000
       HRC011DK:          OI    PARM2,X'80'    SET NOT OPERATIONAL INDICATOR             03567000
       HRC011DK:          B     IRA            GO GET DEVICE ADDRESS                     03568000
       HRC011DK:          SPACE ,                                                        03569000
       HRC011DK: *---------------------------------------------------------------------- 03570000
       HRC011DK: *        CC1 FROM SIO -- CHECK THE CSW STATUS.                          03571000
       HRC011DK: *---------------------------------------------------------------------- 03572000
       HRC011DK:          SPACE ,                                                        03573000
       HRC011DK: CSWSTOR  EQU   *                                                        03574000
       HRC011DK:          TM    CSW+4,BUSY     IS THE UNIT BUSY                          03575000
       HRC011DK:          BZ    LOOKATCE       NO, GO LOOK AT CE                         03576000
       HRC011DK:          TM    CSW+4,DE+ATTN+CUE+CE IS THIS ENDING STATUS               03577000
       HRC011DK:          BNZ   STUADD         YES, GO STORE ADDRESS                     03578000
       HRC011DK:          LPSW  WAITCON        WAIT FOR I/O INTERRUPT                    03579000
       HRC011DK:          SPACE ,                                                        03580000
       HRC011DK: LOOKATCE EQU   *                                                        03581000
       HRC011DK:          TM    CSW+4,CE       IS THIS CHANNEL END                       03582000
       HRC011DK:          BZ    STUADD         NO, GO STORE ADDRESS                      03583000
       HRC011DK:          LA    R1,8(,R9)      GET ADDRESS OF FIRST CCW + 8              03584000
       HRC011DK:          ST    R1,CSW         SAVE ADDRESS IN CSW                       03585000
       HRC011DK: STUADD   EQU   *                                                        03586000
       HRC011DK:          TM    CSW+4,CUE      IS THIS A CONTROL UNIT END ?              03587000
       HRC011DK:          BO    STARTIO1       YES, GO RESTART I/O OPERATION             03588000
       HRC011DK:          STH   R10,58         SAVE THE INTERRUPT DEVICE                 03589000
       HRC011DK:          B     IRA            GO TO INTERRUPT HANDLER                   03590000
       HRC011DK: *.4******************************************************************** 03591000
       HRC011DK: *                                                                       03592000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            03593000
       HRC011DK: *                         *      RMSG      *                            03594000
       HRC011DK: *                         *----------------*                            03595000
       HRC011DK: *                                                                       03596000
       HRC011DK: * FUNCTION -                                                            03597000
       HRC011DK: *                                                                       03598000
       HRC011DK: *        READ FROM THE CONSOLE.                                         03599000
       HRC011DK: *                                                                       03600000
       HRC011DK: * LOCAL REGISTER USAGE -                                                03601000
       HRC011DK: *                                                                       03602000
       HRC011DK: *        R9  - CHANNEL PROGRAM ADDRESS                                  03603000
       HRC011DK: *        R10 - ADDRESS OF CONSOLE                                       03604000
       HRC011DK: *        R14 - RETURN ADDRESS                                           03605000
       HRC011DK: *                                                                       03606000
       HRC011DK: * OPERATION -                                                           03607000
       HRC011DK: *                                                                       03608000
       HRC011DK: *        1. FOR CONSOLE INPUT, GO TO STARTIO TO READ IN THE RESPONSE.   03609000
       HRC011DK: *        2. FOR CARD INPUT, COMPARE THE CARD TO VALID PARAMETERS UNTIL  03610000
       HRC011DK: *           A MATCH IS FOUND.                                           03611000
       HRC011DK: *        3. DISPLAY THE CARD INPUT RESPONSE BY CALLING WMSG.            03612000
       HRC011DK: *                                                                       03613000
       HRC011DK: *.$******************************************************************** 03614000
       HRC011DK:          SPACE ,                                                        03615000
       HRC011DK: *---------------------------------------------------------------------- 03616000
       HRC011DK: *        FOR CONSOLE INPUT, GET THE CONSOLE ADDRESS AND READ IN THE     03617000
       HRC011DK: *        RESPONSE INTO INDATA USING THE STARTIO ROUTINE.                03618000
       HRC011DK: *---------------------------------------------------------------------- 03619000
       HRC011DK:          SPACE ,                                                        03620000
       HRC011DK: RMSG     TM    CDSW2,X'FF'    IS CARD SWITCH ON ?                       03621000
       HRC011DK:          BO    GETDATA        YES, BRANCH                               03622000
       HRC011DK:          LH    R10,CONSOL     R10 CONTAINS CONSOLE ADDRESS              03623000
       HRC011DK:          XC    INDATA(80),INDATA CLEAR ROOM ENOUGH TO WORK              03624000
       HRC011DK:          LA    R9,RCCW        PUT CCW ADDRESS INTO CAW                  03625000
       HRC011DK:          B     STARTIO        GO ISSUE SIO                              03626000
       HRC011DK:          SPACE ,                                                        03627000
       HRC011DK: *---------------------------------------------------------------------- 03628000
       HRC011DK: *        FOR CARD INPUT, COMPARE THE CARD TO PARAMETERS.  MOVE THE      03629000
       HRC011DK: *        CORRESPONDING RESPONSE WORD(S) INTO INDATA.                    03630000
       HRC011DK: *---------------------------------------------------------------------- 03631000
       HRC011DK:          SPACE ,                                                        03632000
       HRC011DK: GETDATA  XC    INDATA+1(24),INDATA+1 CLEAR BUT 1ST POSITION @V6292B1    03633000
       HRC011DK:          CLC   SAVE4,=A(FORA) IS IT FORMAT OR ALLOCATE?                 03634000
       HRC011DK:          MVC   INDATA(8),CDFORA  MOVE IN FORMAT OR ALLOCATE             03635000
       HRC011DK:          BE    GETBACK        YES,BRANCH                                03636000
       HRC011DK:          CLC   SAVE4,=A(ADDRESS) DEVICE ADDRESS                         03637000
       HRC011DK:          MVC   INDATA(8),CDADD   PASS DATA CONSOLE READ                 03638000
       HRC011DK:          BE    GETBACK           YES,BRANCH                             03639000
       HRC011DK:          CLC   SAVE4,=A(TYPMSG)  IS IT DEV TYPE                         03640000
       HRC011DK:          MVC   INDATA(8),CDTYPE  PASS DATA CONSOLE READ                 03641000
       HRC011DK:          BE    GETBACK           YES,BRANCH                             03642000
       HRC011DK:          CLC   SAVE4,=A(RDLAB)   IS IT LABEL                            03643000
       HRC011DK:          MVC   INDATA(8),CDLABEL PASS DATA CONSOLE READ                 03644000
       HRC011DK:          BE    GETBACK           YES,BRANCH                             03645000
       HRC011DK:          CLC   SAVE4,=A(WVMSG2)  IS IT WRITE VERIFICATION?              03646000
       HRC011DK:          MVC   INDATA(8),CDWVERIF PASS DATA CONSOLE READ                03647000
       HRC011DK:          BE    GETBACK           YES, BRANCH                            03648000
       HRC011DK:          CLC   SAVE4,=A(STCYL)   IS IT START CYL?                       03649000
       HRC011DK:          MVC   INDATA(8),CDSTART PASS DATA CONSOLE READ                 03650000
       HRC011DK:          BE    GETBACK           YES,BRANCH                             03651000
       HRC011DK:          CLC   SAVE4,=A(ENDCYL)  IS IT END CYL?                         03652000
       HRC011DK:          MVC   INDATA(8),CDENDCYL PASS DATA CONSOLE READ                03653000
       HRC011DK:          BE    GETBACK           YES,BRANCH                             03654000
       HRC011DK:          MVC   INDATA(4),CDFORA  MOVE ALLOCATION TYPE                   03655000
       HRC011DK:          MVC   INDATA+NAMCHARS+BLANK(CYLNUM),CDADD                      03656000
       HRC011DK: *                                MOVE IN ALLOCATION START CYL           03657000
       HRC011DK:          MVC   INDATA+NAMCHARS+BLANK+CYLNUM+BLANK(CYLNUM),CDTYPE        03658000
       HRC011DK: *                                MOVE IN ALLOCATION END CYL             03659000
       HRC011DK:          SPACE ,                                                        03660000
       HRC011DK: *---------------------------------------------------------------------- 03661000
       HRC011DK: *        DISPLAY THE CARD INPUT RESPONSE BY CALLING WMSG.               03662000
       HRC011DK: *---------------------------------------------------------------------- 03663000
       HRC011DK:          SPACE ,                                                        03664000
       HRC011DK: GETBACK  ST    R14,REGSAV        SAVE R14                               03665000
       HRC011DK:          MVC   ANSWER,INDATA     SET UP INDATA TO PRINT                 03666000
       HRC011DK:          LA    R4,RESPONSE       ADDRESS OF MESSAGE INTO R4             03667000
       HRC011DK:          BAL   R14,WMSG2         WRITE MESSAGE                          03668000
       HRC011DK:          L     R14,REGSAV        RESTORE R14                            03669000
       HRC011DK: BY       LA    R14,8(R14)        UP R14 TO BYPASS TEST FOR UE           03670000
       HRC011DK:          BR    R14               BRANCH BACK                            03671000
       HRC011DK: *.4******************************************************************** 03672000
       HRC011DK: *                                                                       03673000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            03674000
       HRC011DK: *                         *    GRAPHID     *                            03675000
       HRC011DK: *                         *----------------*                            03676000
       HRC011DK: *                                                                       03677000
       HRC011DK: * FUNCTION -                                                            03678000
       HRC011DK: *                                                                       03679000
       HRC011DK: *        GRAPHIC DEVICE INDICATOR ROUTINE.  THIS IS CALLED TO READ      03680000
       HRC011DK: *        FROM OR WRITE TO GRAPHIC TYPE DEVICES.                         03681000
       HRC011DK: *                                                                       03682000
       HRC011DK: * INPUT REGISTERS -                                                     03683000
       HRC011DK: *                                                                       03684000
       HRC011DK: *        R1  - RETURN ADDRESS                                           03685000
       HRC011DK: *        R9  - CCW STRING ADDRESS                                       03686000
       HRC011DK: *                                                                       03687000
       HRC011DK: * OUTPUT REGISTERS -                                                    03688000
       HRC011DK: *                                                                       03689000
       HRC011DK: *        R9  - PROPER MODIFIED CCW STRING ADDRESS                       03690000
       HRC011DK: *                                                                       03691000
       HRC011DK: * LOCAL REGISTER USAGE -                                                03692000
       HRC011DK: *                                                                       03693000
       HRC011DK: *        R2  - WORK                                                     03694000
       HRC011DK: *        R3  - DATA COUNT                                               03695000
       HRC011DK: *        R4  - WORK                                                     03696000
       HRC011DK: *        R5  - WORK                                                     03697000
       HRC011DK: *        R9  - CHANNEL PROGRAM ADDRESS                                  03698000
       HRC011DK: *        R14 - WORK                                                     03699000
       HRC011DK: *                                                                       03700000
       HRC011DK: * OPERATION -                                                           03701000
       HRC011DK: *                                                                       03702000
       HRC011DK: *        1. GET ADDRESS OF CCW STRING                                   03703000
       HRC011DK: *        2. GET ADDRESS OF COMMAND OP TABLE                             03704000
       HRC011DK: *        3. TEST COMMAND OP CODE WITH TABLE CODE                        03705000
       HRC011DK: *        4. IS IT A 3270 GRAPHIC DEVICE?                                03706000
       HRC011DK: *        5. IF NOT, CLEAR LINE POINTER                                  03707000
       HRC011DK: *        6. GET CHANNEL PROGRAM                                         03708000
       HRC011DK: *        7. SAVE CURRENT LINE POINTER                                   03709000
       HRC011DK: *        8. SET COORDINATES                                             03710000
       HRC011DK: *        9. GET ADDRESS OF BUFFER                                       03711000
       HRC011DK: *       10. CHECK FOR DATA IN INPUT AREA                                03712000
       HRC011DK: *       11. CHECK FOR COMMAND CHAINING                                  03713000
       HRC011DK: *       12. UPDATE TO NEXT CCW                                          03714000
       HRC011DK: *                                                                       03715000
       HRC011DK: *.$******************************************************************** 03716000
       HRC011DK:          SPACE ,                                                        03717000
       HRC011DK: GRAPHID  DS    0H             HANDLE GRAPHICS DEVICES                   03718000
       HRC011DK:          TM    PARM,PARMGRP   IS THE GRAPHIC INDICATOR ACTIVE ?         03719000
       HRC011DK:          BCR   8,R1           NO, GO START THE I/O REQUEST              03720000
       HRC011DK:          STM   R14,R5,GRAPHSAV SAVE THE REGISTERS                       03721000
       HRC011DK:          LR    R4,R9          GET THE ADDRESS OF THE CCW STRING         03722000
       HRC011DK:          SPACE ,                                                        03723000
       HRC011DK: *---------------------------------------------------------------------- 03724000
       HRC011DK: *        SAVE THE DATA COUNT AND CCW ADDRESS FOR LATER RESTORE.         03725000
       HRC011DK: *---------------------------------------------------------------------- 03726000
       HRC011DK:          SPACE ,                                                        03727000
       HRC011DK: GETCCW   EQU   *                                                        03728000
       HRC011DK:          LH    R3,6(R4)       GET THE DATA COUNT FROM THE CCW           03729000
       HRC011DK:          STM   R3,R4,SAVEAREA SAVE THE DATA REGISTERS                   03730000
       HRC011DK:          NI    PARM,X'FF'-(PARMREA+PARMNDA) CLEAR THE READ              03731000
       HRC011DK: *                             REQUEST AND NO DATA INDICATOR             03732000
       HRC011DK:          LA    R2,5           SET THE LOOP COUNT                        03733000
       HRC011DK:          LA    R14,TABLGRAP   GET THE ADDRESS OF THE COMMAND            03734000
       HRC011DK: *                             OP TABLE                                  03735000
       HRC011DK:          ICM   R5,1,0(R4)     GET THE OP CODE                           03736000
       HRC011DK:          SPACE ,                                                        03737000
       HRC011DK: *---------------------------------------------------------------------- 03738000
       HRC011DK: *        COMPARE THE COMMAND OPCODE WITH THE CODE IN TABLGRAP UNTIL     03739000
       HRC011DK: *        THE CODE IS FOUND IN THE TABLE.  TABLGRAP CONTAINS THE         03740000
       HRC011DK: *        ADDRESSES OF THE CORRESPONDING SECTIONS FOR THE PROPER READ    03741000
       HRC011DK: *        OR WRITE ROUTINE.  GO TO THE PROPER SECTION.                   03742000
       HRC011DK: *---------------------------------------------------------------------- 03743000
       HRC011DK:          SPACE ,                                                        03744000
       HRC011DK: CCWEXEC  EQU   *                                                        03745000
       HRC011DK:          EX    R5,CLIP        TEST THE COMMAND OP CODE WITH             03746000
       HRC011DK: *                             TABLE CODE                                03747000
       HRC011DK:          BE    GRAPHADD       YES, FOUND THE COMMAND OP CODE            03748000
       HRC011DK:          LA    R14,4(R14)     UPDATE THE ADDRESS IN THE TABLE           03749000
       HRC011DK:          BCT   R2,CCWEXEC     GO TEST THE NEXT OP CODE                  03750000
       HRC011DK:          SPACE ,                                                        03751000
       HRC011DK:          B     STMSG          INVALID OP CODE - GO EXIT                 03752000
       HRC011DK: CLIP     CLI   0(R14),X'00'   TEST THE OP CODE IN THE TABLE             03753000
       HRC011DK: GRAPHADD EQU   *                                                        03754000
       HRC011DK:          ICM   R2,7,1(R14)    GET THE ADDRESS OF THE OP CODE            03755000
       HRC011DK: *                             ROUTINE                                   03756000
       HRC011DK:          BR    R2             GO TO THE ROUTINE                         03757000
       HRC011DK:          SPACE ,                                                        03758000
       HRC011DK: *---------------------------------------------------------------------- 03759000
       HRC011DK: *        OPCODE X'0A' : HANDLE GRAPHIC READ FOR 3270 GRAPHIC DEVICE.    03760000
       HRC011DK: *---------------------------------------------------------------------- 03761000
       HRC011DK:          SPACE ,                                                        03762000
       HRC011DK: READ66   EQU   *                                                        03763000
       HRC011DK:          OI    PARM,PARMREA+PARMATT INDICATE READ AND ATTENTION         03764000
       HRC011DK: *                             REQUESTS                                  03765000
       HRC011DK:          LA    R14,GRAPHIC0   RETURN ADDRESS FROM I/O HANDLER           03766000
       HRC011DK:          XC    BLNKLINE(140),BLNKLINE CLEAR THE READ AREA               03767000
       HRC011DK:          MVI   CSW+4,X'00'    CLEAR THE CSW STATUS                      03768000
       HRC011DK:          XC    RDMIDATA(6),RDMIDATA CLEAR THE READ DATA FIELD           03769000
       HRC011DK:          MVC   CPXYSTAT(20),REALABEL                                    03770000
       HRC011DK:          LA    R9,REQREAD     GET CHANNEL PROGRAM ADDRESS               03771000
       HRC011DK:          TM    PARM,PARM327   IS THIS A 3270 GRAPHIC ?                  03772000
       HRC011DK:          BCR   8,R1           NO, GO ISSUE SIO                          03773000
       HRC011DK:          LA    R9,REQREAD1    GET CHANNEL PROGRAM ADDRESS               03774000
       HRC011DK:          BR    R1             GO TO THE I/O HANDLER                     03775000
       HRC011DK:          SPACE ,                                                        03776000
       HRC011DK: *---------------------------------------------------------------------- 03777000
       HRC011DK: *        OPCODE X'01', X'05', OR X'09' : HANDLE GRAPHIC WRITE.          03778000
       HRC011DK: *        FOR A NON-3270, GET THE APPROPRIATE 3066 CHANNEL PROGRAM AND   03779000
       HRC011DK: *        RETURN TO ISSUE SIO.                                           03780000
       HRC011DK: *---------------------------------------------------------------------- 03781000
       HRC011DK:          SPACE ,                                                        03782000
       HRC011DK: WRT66    EQU   *                                                        03783000
       HRC011DK:          MVC   CPXYSTAT(20),RUNLABEL                                    03784000
       HRC011DK:          TM    PARM,PARM327   IS THIS A 3270 GRAPHIC ?                  03785000
       HRC011DK:          BO    YES3270        YES, GO TO 3270 SUPPORT                   03786000
       HRC011DK:          MVC   WRT3066+1(3),1(R4) GET THE MESSAGE ADDRESS               03787000
       HRC011DK:          STH   R3,WRT3066+6   SAVE THE DATA COUNT IN THE CCW            03788000
       HRC011DK:          LA    R9,WRTCRTXY    GET CHANNEL PROGRAM ADDRESS               03789000
       HRC011DK:          TM    PARM,PARMCLE   IS THE ERASE INDICATOR ON ?               03790000
       HRC011DK:          BZ    GRAPWRT        NO, GO TO SIO SECTION                     03791000
       HRC011DK:          LA    R9,ERSE3066    GET CHANNEL PROGRAM ADDRESS               03792000
       HRC011DK:          MVI   SBADDR,X'00'   CLEAR LINE POINTER                        03793000
       HRC011DK: GRAPWRT  EQU   *                                                        03794000
       HRC011DK:          LA    R14,GRAPHIC1   RETURN ADDRESS FROM I/O HANDLER           03795000
       HRC011DK:          BR    R1             GO TO THE I/O HANDLER                     03796000
       HRC011DK:          SPACE ,                                                        03797000
       HRC011DK: *---------------------------------------------------------------------- 03798000
       HRC011DK: *        OPCODE X'01', X'05', OR X'09' : HANDLE GRAPHIC WRITE.          03799000
       HRC011DK: *        FOR A 3270 GRAPHIC, GET THE APPROPRIATE 3270 CHANNEL PROGRAM   03800000
       HRC011DK: *        AND RETURN TO ISSUE SIO.                                       03801000
       HRC011DK: *---------------------------------------------------------------------- 03802000
       HRC011DK:          SPACE ,                                                        03803000
       HRC011DK: YES3270  EQU   *                                                        03804000
       HRC011DK:          SR    R14,R14        CLEAR REGISTER 14                         03805000
       HRC011DK:          LA    R9,WRTCRT70    GET CHANNEL PROGRAM ADDRESS               03806000
       HRC011DK:          TM    PARM,PARMCLE   IS THE ERASE INDICATOR ON ?               03807000
       HRC011DK:          BZ    NOCL3270       NO, DON'T CLEAR SCREEN                    03808000
       HRC011DK:          MVI   SBADDR,X'00'   CLEAR LINE POINTER                        03809000
       HRC011DK:          LA    R9,ERSE3270    GET CHANNEL PROGRAM ADDRESS               03810000
       HRC011DK: NOCL3270 EQU   *                                                        03811000
       HRC011DK:          IC    R14,SBADDR     GET THE CURRENT LINE POINTER              03812000
       HRC011DK:          SLL   R14,1          SETUP THE INDEX INTO THE TABLE            03813000
       HRC011DK:          LH    R14,TABLE70(R14) GET THE LINE ADDRESS                    03814000
       HRC011DK:          STCM  R14,3,LAB3270+2 SAVE THE CURRENT LINE POINTER            03815000
       HRC011DK:          MVC   WRTCR70+1(3),1(R4) GET THE MESSAGE ADDRESS               03816000
       HRC011DK:          STH   R3,WRTCR70+6   SAVE THE BYTE COUNT IN THE CCW            03817000
       HRC011DK:          B     GRAPWRT        GO GET THE RETURN ADDRESS                 03818000
       HRC011DK:          SPACE ,                                                        03819000
       HRC011DK: *---------------------------------------------------------------------- 03820000
       HRC011DK: *        GRAPHIC1 IS THE ADDRESS RETURNED TO FROM THE I/O INTERRUPT     03821000
       HRC011DK: *        HANDLER, FROM THE GRAPHIC WRITE ROUTINE ABOVE.                 03822000
       HRC011DK: *---------------------------------------------------------------------- 03823000
       HRC011DK:          SPACE ,                                                        03824000
       HRC011DK: GRAPHIC1 EQU   *                                                        03825000
       HRC011DK:          LM    R3,R4,SAVEAREA GET THE DATA REGISTERS                    03826000
       HRC011DK:          NI    PARM,X'FF'-PARMCLE CLEAR THE ERASE INDICATOR             03827000
       HRC011DK:          SR    R2,R2          CLEAR REGISTER 2                          03828000
       HRC011DK:          IC    R2,SBADDR      GET THE Y COORDINATE                      03829000
       HRC011DK:          LA    R2,1(R2)       UPDATE THE Y COORDINATE                   03830000
       HRC011DK:          CH    R3,=H'80'      IS THE DATA COUNT LONGER THAN 1           03831000
       HRC011DK: *                             LINE                                      03832000
       HRC011DK:          BNH   *+8            NO, GO SAVE Y COORDINATE                  03833000
       HRC011DK:          LA    R2,1(R2)       UPDATE THE Y COORDINATE AGAIN             03834000
       HRC011DK:          STC   R2,SBADDR      SAVE THE Y COORDINATE                     03835000
       HRC011DK:          MH    R2,=H'80'      GET THE BYTE LENGTH                       03836000
       HRC011DK:          L     R14,=F'2640'   GET THE MAX. LENGTH                       03837000
       HRC011DK:          TM    PARM,PARM327   IS THIS A 3270 GRAPHIC ?                  03838000
       HRC011DK:          BZ    TEST3066       NO, GO TEST FOR END OF CRT                03839000
       HRC011DK:          L     R14,MAXLEN     GET THE MAX. LEN FOR 3270/3278            03840000
       HRC011DK: TEST3066 EQU   *                                                        03841000
       HRC011DK:          CR    R2,R14         Y COORDINATE AT END OF THE CRT?           03842000
       HRC011DK:          BL    RETWORD        NO, CHECK FOR CMD CHAINING                03843000
       HRC011DK:          OI    PARM,PARMATT   SET THE ATTENTION REQUEST                 03844000
       HRC011DK:          MVI   CSW+4,X'00'    CLEAR THE CSW STATUS                      03845000
       HRC011DK:          MVC   CPXYSTAT(20),MORLABEL                                    03846000
       HRC011DK:          LA    R14,GRAPHIC3   RETURN ADDRESS FROM I/O HANDLER           03847000
       HRC011DK:          LA    R9,CRTWORD     GET CHANNEL PROGRAM ADDRESS               03848000
       HRC011DK:          TM    PARM,PARM327   IS THIS A 3270 GRAPHIC ?                  03849000
       HRC011DK:          BCR   8,R1           NO, GO ISSUE SIO                          03850000
       HRC011DK:          LA    R9,MORECCW1    GET CHANNEL PROGRAM ADDRESS               03851000
       HRC011DK:          BR    R1             GO ISSUE SIO                              03852000
       HRC011DK:          SPACE ,                                                        03853000
       HRC011DK: *---------------------------------------------------------------------- 03854000
       HRC011DK: *        GRAPHIC3 IS THE ADDRESS RETURNED TO FROM THE I/O INTERRUPT     03855000
       HRC011DK: *        HANDLER, FROM THE GRAPHIC1 WRITE ROUTINE ABOVE.                03856000
       HRC011DK: *---------------------------------------------------------------------- 03857000
       HRC011DK:          SPACE ,                                                        03858000
       HRC011DK: GRAPHIC3 EQU   *                                                        03859000
       HRC011DK:          TM    STAT,ATTN      IS THE ATTENTION FLAG ACTIVE ?            03860000
       HRC011DK:          BZ    GRAPPSW        NO, GO WAIT FOR AN ATTENTION              03861000
       HRC011DK: *                             INTERRUPT                                 03862000
       HRC011DK:          NI    PARM,X'FF'-PARMATT CLEAR THE ATTENTION INDICATOR         03863000
       HRC011DK: CANCEL1  EQU   *                                                        03864000
       HRC011DK:          LM    R3,R4,SAVEAREA GET THE DATA REGISTERS                    03865000
       HRC011DK:          MVI   SBADDR,X'00'   SET THE Y COORDINATE TO ZERO              03866000
       HRC011DK:          MVC   CPXYSTAT(20),RUNLABEL CRT DISPLAY RUN STATUS             03867000
       HRC011DK:          LA    R9,CNCL3066    GET CHANNEL PROGRAM ADDRESS               03868000
       HRC011DK:          TM    PARM,PARM327   IS THIS A 3270 GRAPHIC ?                  03869000
       HRC011DK:          BZ    RETURNCN       NO, GO GET RETURN ADDRESS                 03870000
       HRC011DK:          LA    R9,CNCL3270    GET CHANNEL PROGRAM ADDRESS               03871000
       HRC011DK: RETURNCN EQU   *                                                        03872000
       HRC011DK:          LA    R14,READ66     GET THE ADDRESS OF THE READ               03873000
       HRC011DK: *                             SECTION                                   03874000
       HRC011DK:          TM    PARM,PARMREA   IS THIS A READ REQUEST ?                  03875000
       HRC011DK:          BCR   1,R1           YES, GO TO THE I/O HANDLER                03876000
       HRC011DK:          LA    R14,RETWORD    RETURN ADDRESS FROM I/O HANDLER           03877000
       HRC011DK:          BR    R1             GO TO THE I/O HANDLER                     03878000
       HRC011DK:          SPACE ,                                                        03879000
       HRC011DK: *---------------------------------------------------------------------- 03880000
       HRC011DK: *        GRAPHIC0 IS THE ADDRESS RETURNED TO FROM THE I/O INTERRUPT     03881000
       HRC011DK: *        HANDLER, FROM THE READ66 READ ROUTINE ABOVE.                   03882000
       HRC011DK: *---------------------------------------------------------------------- 03883000
       HRC011DK:          SPACE ,                                                        03884000
       HRC011DK: GRAPHIC0 EQU   *                                                        03885000
       HRC011DK:          TM    STAT,ATTN      IS THE ATTENTION FLAG ACTIVE ?            03886000
       HRC011DK:          BO    GRAPATTN       YES, GO SETUP CCW FOR READ                03887000
       HRC011DK: *                             MANUAL INPUT                              03888000
       HRC011DK: GRAPPSW  EQU   *                                                        03889000
       HRC011DK:          LPSW  WAITCON        GO WAIT FOR INTERRUPT                     03890000
       HRC011DK:          SPACE ,                                                        03891000
       HRC011DK: *---------------------------------------------------------------------- 03892000
       HRC011DK: *        ATTENTION FLAG WAS ON, SO SET UP THE CCW FOR READING MANUALLY. 03893000
       HRC011DK: *---------------------------------------------------------------------- 03894000
       HRC011DK:          SPACE ,                                                        03895000
       HRC011DK: GRAPATTN EQU   *                                                        03896000
       HRC011DK:          LM    R3,R4,SAVEAREA GET THE DATA REGISTERS                    03897000
       HRC011DK:          NI    PARM,X'FF'-PARMATT CLEAR ATTENTION REQUEST               03898000
       HRC011DK:          TM    PARM,PARM327   IS THIS A 3270 GRAPHIC ?                  03899000
       HRC011DK:          BO    YES3270A       YES, GO TO 3270 SUPPORT                   03900000
       HRC011DK:          STH   R3,RD3066DA+6  STORE THE COUNT IN THE CCW                03901000
       HRC011DK:          MVC   RD3066DA+1(3),1(R4) MOVE THE ADDRESS OF THE READ         03902000
       HRC011DK: *                             BUFFER INTO THE CCW                       03903000
       HRC011DK:          LA    R9,RDMI3066    GET THE ADDRESS OF THE CHANNEL            03904000
       HRC011DK: *                             PROGRAM                                   03905000
       HRC011DK: RETURNAD EQU   *                                                        03906000
       HRC011DK:          LA    R14,RET66MI    RETURN ADDRESS FROM I/O HANDLER           03907000
       HRC011DK:          BR    R1             GO TO THE I/O HANDLER                     03908000
       HRC011DK:          SPACE ,                                                        03909000
       HRC011DK: *---------------------------------------------------------------------- 03910000
       HRC011DK: *        FOR 3270 GRAPHIC, READ INPUT FOR ATTENTION.                    03911000
       HRC011DK: *---------------------------------------------------------------------- 03912000
       HRC011DK:          SPACE ,                                                        03913000
       HRC011DK: YES3270A EQU   *                                                        03914000
       HRC011DK:          LA    R14,6(R3)      ADD  6 T0 THE TOTAL COUNT                 03915000
       HRC011DK:          STH   R14,RD3270DA+6 STORE THE COUNT IN THE CCW                03916000
       HRC011DK:          LA    R14,BLNKLINE   GET THE ADDRESS OF THE BUFFER             03917000
       HRC011DK:          STCM  R14,7,RD3270DA+1 MOVE THE ADDRESS OF THE READ            03918000
       HRC011DK: *                             BUFFER INTO THE CCW                       03919000
       HRC011DK:          LA    R9,RDMI3270    GET THE ADDRESS OF THE CHANNEL            03920000
       HRC011DK: *                             PROGRAM                                   03921000
       HRC011DK:          B     RETURNAD       GO GET THE RETURN ADDRESS                 03922000
       HRC011DK:          SPACE ,                                                        03923000
       HRC011DK: *---------------------------------------------------------------------- 03924000
       HRC011DK: *        RET66MI IS THE RETURN ADDRESS FROM THE I/O HANDLER AFTER       03925000
       HRC011DK: *        MANUALLY READING INPUT AFTER ATTENTION.                        03926000
       HRC011DK: *---------------------------------------------------------------------- 03927000
       HRC011DK:          SPACE ,                                                        03928000
       HRC011DK: RET66MI  EQU   *                                                        03929000
       HRC011DK:          LM    R3,R4,SAVEAREA GET THE DATA REGISTERS                    03930000
       HRC011DK:          MVC   CPXYSTAT(20),RUNLABEL CRT DISPLAY RUN STATUS             03931000
       HRC011DK:          LA    R9,CRTWORD     GET CHANNEL PROGRAM ADDRESS               03932000
       HRC011DK:          LA    R14,RETINPUT   RETURN ADDRESS FROM I/O HANDLER           03933000
       HRC011DK:          TM    PARM,PARM327   IS THIS A 3270 GRAPHIC ?                  03934000
       HRC011DK:          BO    YES3270B       YES, GO CHECK 3270 SUPPORT                03935000
       HRC011DK:          TM    RDMIDATA+2,X'40' DID THE OPERATOR HIT THE                03936000
       HRC011DK: *                             CANCEL KEY                                03937000
       HRC011DK:          BO    CANCEL1        YES, GO CLEAR SCREEN                      03938000
       HRC011DK:          CLC   RDMIDATA(2),SBAREAD DID THE CURSOR MOVE ?                03939000
       HRC011DK:          BCR   7,R1           YES, GO WRITE STATUS                      03940000
       HRC011DK:          OI    PARM,PARMNDA   SET INDICATOR FOR NO DATA                 03941000
       HRC011DK:          BR    R1             GO WRITE OUT STATUS                       03942000
       HRC011DK:          SPACE ,                                                        03943000
       HRC011DK: *---------------------------------------------------------------------- 03944000
       HRC011DK: *        FOR 3270 GRAPHIC, HANDLE WRITING STATUS AFTER RETURNING FROM   03945000
       HRC011DK: *        ATTENTION READ.                                                03946000
       HRC011DK: *---------------------------------------------------------------------- 03947000
       HRC011DK:          SPACE ,                                                        03948000
       HRC011DK: YES3270B EQU   *                                                        03949000
       HRC011DK:          CLI   BLNKLINE,X'6E' DID THE OPERATOR HIT THE CANCEL           03950000
       HRC011DK: *                             KEY                                       03951000
       HRC011DK:          BE    CANCEL1        YES, GO CLEAR SCREEN                      03952000
       HRC011DK:          CLI   BLNKLINE,X'6D' DID THE OPERATOR HIT THE CLEAR            03953000
       HRC011DK: *                             KEY                                       03954000
       HRC011DK:          BE    CANCEL1        YES, GO CLEAR SCREEN                      03955000
       HRC011DK:          CLI   BLNKLINE,X'6C' DID OPERATOR HIT PA1 KEY                  03956000
       HRC011DK:          BE    CANCEL1        YES, GO CLEAR SCREEN                      03957000
       HRC011DK:          OI    PARM,PARMNDA   SET INDICATOR FOR NO DATA                 03958000
       HRC011DK:          CLI   BLNKLINE,X'01' DID OPERATOR HIT TEST REQ. KEY            03959000
       HRC011DK:          BE    ENT3270        YES, GO WRITE STATUS                      03960000
       HRC011DK:          CLI   BLNKLINE,X'E6' IS THIS THE CARD READER                   03961000
       HRC011DK:          BE    ENT3270        YES, GO WRITE STATUS                      03962000
       HRC011DK:          CLI   BLNKLINE+6,X'00' DATA IN INPUT AREA ?                    03963000
       HRC011DK:          BNE   DATA3270       YES, GO DISPLAY DATA                      03964000
       HRC011DK:          CLC   BLNKLINE+1(2),ADDR5  DID CURSOR MOVE?                    03965000
       HRC011DK:          BE    ENT3270              NO                                  03966000
       HRC011DK: DATA3270 EQU   *                                                        03967000
       HRC011DK:          NI    PARM,X'FF'-PARMNDA SET INDICATOR FOR NO DATA             03968000
       HRC011DK:          ICM   R9,7,1(R4)     GET ADDRESS OF USER'S BUFFER              03969000
       HRC011DK:          BCTR  R3,R0          SUBTRACT ONE FROM COUNT (EX               03970000
       HRC011DK: *                             INSTR.)                                   03971000
       HRC011DK:          EX    R3,MOV3270     MOVE DATA INTO USER'S BUFFER              03972000
       HRC011DK: ENT3270  EQU   *                                                        03973000
       HRC011DK:          LA    R9,CRTWORD1    GET THE ADDRESS OF THE CHANNEL            03974000
       HRC011DK: *                             PROGRAM                                   03975000
       HRC011DK:          BR    R1             GO ISSUE SIO                              03976000
       HRC011DK:          SPACE ,                                                        03977000
       HRC011DK: MOV3270  MVC   0(0,R9),BLNKLINE+6 MOVE THE DATA INTO THE                03978000
       HRC011DK: *                             USER'S BUFFER                             03979000
       HRC011DK:          SPACE ,                                                        03980000
       HRC011DK: *---------------------------------------------------------------------- 03981000
       HRC011DK: *        RETURN ADDRESS AFTER WRITING STATUS.                           03982000
       HRC011DK: *---------------------------------------------------------------------- 03983000
       HRC011DK:          SPACE ,                                                        03984000
       HRC011DK: RETINPUT EQU   *                                                        03985000
       HRC011DK:          LM    R3,R4,SAVEAREA GET THE DATA REGISTERS                    03986000
       HRC011DK:          TM    PARM,PARMNDA   IS NO DATA INDICATED ?                    03987000
       HRC011DK:          BZ    WRT66          NO, GO DISPLAY INPUT ON CRT               03988000
       HRC011DK:          SPACE ,                                                        03989000
       HRC011DK: *---------------------------------------------------------------------- 03990000
       HRC011DK: *        FOR OPCODE X'03' NOOP : RETURN SECTION.                        03991000
       HRC011DK: *---------------------------------------------------------------------- 03992000
       HRC011DK:          SPACE ,                                                        03993000
       HRC011DK: RETWORD  EQU   *                                                        03994000
       HRC011DK:          TM    4(R4),CC       IS COMMAND CHAINING ON ?                  03995000
       HRC011DK:          LA    R4,8(R4)       UPDATE THE CCW ADDRESS TO NEXT            03996000
       HRC011DK: *                             CCW                                       03997000
       HRC011DK:          BO    GETCCW         YES, GET DATA COUNT FROM CCW              03998000
       HRC011DK:          LM    R14,R5,GRAPHSAV GET CALLER'S REGISTERS                   03999000
       HRC011DK:          BR    R14            RETURN TO CALLER                          04000000
       HRC011DK: *.4******************************************************************** 04001000
       HRC011DK: *                                                                       04002000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04003000
       HRC011DK: *                         *      XBIN      *                            04004000
       HRC011DK: *                         *----------------*                            04005000
       HRC011DK: *                                                                       04006000
       HRC011DK: * FUNCTION -                                                            04007000
       HRC011DK: *                                                                       04008000
       HRC011DK: *        CHECK TO SEE IF THE INPUT IS VALID AND HAS CORRECT NUMBERS.    04009000
       HRC011DK: *        VALID NUMBERS ARE C1-C6 AND F0-F9.                             04010000
       HRC011DK: *                                                                       04011000
       HRC011DK: * INPUT REGISTERS -                                                     04012000
       HRC011DK: *                                                                       04013000
       HRC011DK: *        R7  - RETURN ADDRESS                                           04014000
       HRC011DK: *        R8  - INPUT NUMBER                                             04015000
       HRC011DK: *        R9  - COUNT                                                    04016000
       HRC011DK: *                                                                       04017000
       HRC011DK: * OUTPUT REGISTERS -                                                    04018000
       HRC011DK: *                                                                       04019000
       HRC011DK: *        R10 - VALID INPUT (THIS IS NEGATIVE IF INVALID INPUT)          04020000
       HRC011DK: *                                                                       04021000
       HRC011DK: * LOCAL REGISTER USAGE -                                                04022000
       HRC011DK: *                                                                       04023000
       HRC011DK: *        R4  - WORK                                                     04024000
       HRC011DK: *                                                                       04025000
       HRC011DK: *.$******************************************************************** 04026000
       HRC011DK:          SPACE ,                                                        04027000
       HRC011DK: XBIN     SR    R10,R10                 CLEAR REG 10                     04028000
       HRC011DK:          SPACE ,                                                        04029000
       HRC011DK: *---------------------------------------------------------------------- 04030000
       HRC011DK: *        CHECK FOR VALID NUMBER.                                        04031000
       HRC011DK: *---------------------------------------------------------------------- 04032000
       HRC011DK:          SPACE ,                                                        04033000
       HRC011DK: NEWNUM   IC    R4,0(R8)                PUT CHAR INTO R4                 04034000
       HRC011DK:          SLL   R4,28                   KEEP ONLY BITS 4TO7              04035000
       HRC011DK:          SRL   R4,28                   OF LAST BYTE                     04036000
       HRC011DK:          CLI   0(R8),X'F0'             LOWER THAN F0                    04037000
       HRC011DK:          BC    4,ALPHA                 COULD BE ALPHA                   04038000
       HRC011DK:          CLI   0(R8),X'F9'             IS IT GREATER THAN 9             04039000
       HRC011DK:          BC    2,ERRORX                IF GREATER ,ERROR                04040000
       HRC011DK: COMMON2  SLL   R10,4                   SHIFT LEFT 4 BITS                04041000
       HRC011DK:          OR    R10,R4                  OR R4 INTO R10                   04042000
       HRC011DK:          LA    R8,1(R8)                ADD 1 TO REG 11                  04043000
       HRC011DK:          BCT   R9,NEWNUM               LOOP IF MORE TO CHECK            04044000
       HRC011DK:          BR    R7                      GO WHENCE CAME YOU               04045000
       HRC011DK:          SPACE ,                                                        04046000
       HRC011DK: *---------------------------------------------------------------------- 04047000
       HRC011DK: *        CHECK FOR VALID LETTER.                                        04048000
       HRC011DK: *---------------------------------------------------------------------- 04049000
       HRC011DK:          SPACE ,                                                        04050000
       HRC011DK: ALPHA    CLI   0(R8),X'C1'             LOWER THAN A                     04051000
       HRC011DK:          BC    4,ERRORX                IF LOWER THAT'S ERROR            04052000
       HRC011DK:          CLI   0(R8),X'C6'             IS NUMBER HIGHER THAN F          04053000
       HRC011DK:          BC    2,ERRORX                IF HIGHER ERROR                  04054000
       HRC011DK:          LA    R4,9(R4)                CHANGE 1 TO 6 INTO A TO F        04055000
       HRC011DK:          B     COMMON2                 BRANCH                           04056000
       HRC011DK: ERRORX   ICM   R10,8,FFS8              R10 NEG TO SHOW ERROR            04057000
       HRC011DK:          BR     R7                     GO WHENCE CAME YOU               04058000
       HRC011DK: *.4******************************************************************** 04059000
       HRC011DK: *                                                                       04060000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04061000
       HRC011DK: *                         *     DIGBIN     *                            04062000
       HRC011DK: *                         *----------------*                            04063000
       HRC011DK: *                                                                       04064000
       HRC011DK: * FUNCTION -                                                            04065000
       HRC011DK: *                                                                       04066000
       HRC011DK: *        CONVERT EBCDIC NUMERIC VALUE TO BINARY.  ON ENTRY, INDATA      04067000
       HRC011DK: *        CONTAINS EBCDIC VALUE, LEFT JUSTIFIED, UPPER CASE.  AT END,    04068000
       HRC011DK: *        CC IS NON-ZERO IF INPUT WAS NOT NUMERIC.                       04069000
       HRC011DK: *                                                                       04070000
       HRC011DK: * INPUT REGISTERS -                                                     04071000
       HRC011DK: *                                                                       04072000
       HRC011DK: *        R4  - LENGTH-1 OF FIELD TO CONVERT (OF INDATA)                 04073000
       HRC011DK: *        R14 - RETURN ADDRESS                                           04074000
       HRC011DK: *                                                                       04075000
       HRC011DK: * OUTPUT REGISTERS -                                                    04076000
       HRC011DK: *                                                                       04077000
       HRC011DK: *        R7  - BINARY VALUE RESULTING FROM CONVERSION                   04078000
       HRC011DK: *                                                                       04079000
       HRC011DK: *.$******************************************************************** 04080000
       HRC011DK:          SPACE ,                                                        04081000
       HRC011DK: DIGBIN   MVC   FIELDC,MASKA            SET UP F0'S IN FIELDC            04082000
       HRC011DK:          LA    R7,7                    * OFFSET INTO FIELDC TO          04083000
       HRC011DK: *                                      * MOVE INDATA VALUE SO           04084000
       HRC011DK:          SR    R7,R4                   * THAT IT BECOMES RIGHT          04085000
       HRC011DK:          LA    R7,FIELDC(R7)           * JUSTIFIED                      04086000
       HRC011DK:          EX    R4,MOVEBC               MOVE THE EBCDIC VALUE            04087000
       HRC011DK: *                                      TO FIELDC, AT APPROP             04088000
       HRC011DK: *                                      OFFSET                           04089000
       HRC011DK:          MVC   MASKB,MASKA             PUT F0'S IN MASKB                04090000
       HRC011DK:          NC    MASKB,FIELDC            AND F0'S WITH INPUT              04091000
       HRC011DK:          CLC   MASKB,MASKA             IS MASK ALL NUMERIC              04092000
       HRC011DK:          BCR   7,R14                   NO-GO EXIT WITH CC¬=0            04093000
       HRC011DK:          PACK  FIELDC,FIELDC           FIRST PACKED, THEN               04094000
       HRC011DK:          CVB   R7,FIELDC               IN BINARY (PAGE NUM)             04095000
       HRC011DK:          TM    *,X'00'                 SET CC=0                         04096000
       HRC011DK:          BR    R14                     RETURN TO CALLER                 04097000
       HRC011DK: ****     EXECUTED INSTRUCTION                                           04098000
       HRC011DK: MOVEBC   MVC   0(*-*,R7),INDATA                                         04099000
       HRC011DK: *.4******************************************************************** 04100000
       HRC011DK: *                                                                       04101000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04102000
       HRC011DK: *                         *    CONVZER     *                            04103000
       HRC011DK: *                         *----------------*                            04104000
       HRC011DK: *                                                                       04105000
       HRC011DK: * FUNCTION -                                                            04106000
       HRC011DK: *                                                                       04107000
       HRC011DK: *        CONVERT BINARY NUMBERS TO PRINTABLE FORMAT, STORE IN           04108000
       HRC011DK: *        DESIGNATED OUTPUT AREA, AND REMOVE LEADING ZEROES.             04109000
       HRC011DK: *                                                                       04110000
       HRC011DK: * INPUT REGISTERS -                                                     04111000
       HRC011DK: *                                                                       04112000
       HRC011DK: *        R7  - NUMBER TO BE CONVERTED                                   04113000
       HRC011DK: *                                                                       04114000
       HRC011DK: * OUTPUT REGISTERS -                                                    04115000
       HRC011DK: *                                                                       04116000
       HRC011DK: *        R6  - OUTPUT AREA                                              04117000
       HRC011DK: *                                                                       04118000
       HRC011DK: * LOCAL REGISTER USAGE -                                                04119000
       HRC011DK: *                                                                       04120000
       HRC011DK: *        R1  - WORK                                                     04121000
       HRC011DK: *        R2  - WORK                                                     04122000
       HRC011DK: *                                                                       04123000
       HRC011DK: *.$******************************************************************** 04124000
       HRC011DK:          SPACE ,                                                        04125000
       HRC011DK: CONVZER  EQU   *                                                        04126000
       HRC011DK:          CVD   R7,FIELDA           CONVERT INPUT NUMBER TO DEC          04127000
       HRC011DK:          OI    FIELDA+7,X'0F'      CONVERT SIGN BYTE                    04128000
       HRC011DK:          UNPK  0(8,R6),FIELDA+3(5) UNPACK TO OUTPUT AREA                04129000
       HRC011DK:          TRT   0(8,R6),TRTZEROS-X'F0' FIND FIRST NON ZERO BYTE          04130000
       HRC011DK:          BZ    CONVZER1            BRANCH IF ALL ZEROS                  04131000
       HRC011DK:          SR    R1,R6               DISPLACEMENT TO NON ZERO BY          04132000
       HRC011DK:          BCTR  R1,0                DECR FOR EXECUTE                     04133000
       HRC011DK:          EX    R1,MVCBLNKS         MOVE BLANKS TO LEADING 0'S           04134000
       HRC011DK:          BR    R14                 RETURN                               04135000
       HRC011DK: CONVZER1 MVC   0(8,R6),BLANKS8     SET UP THE OUTPUT                    04136000
       HRC011DK:          MVI   7(R6),X'F0'         SO ONE ZERO WILL PRINT               04137000
       HRC011DK:          BR    R14                                                      04138000
       HRC011DK: MVCBLNKS MVC   0(*-*,R6),BLANKS8                                        04139000
       HRC011DK: *.4******************************************************************** 04140000
       HRC011DK: *                                                                       04141000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04142000
       HRC011DK: *                         *    DFOADSET    *                            04143000
       HRC011DK: *                         *----------------*                            04144000
       HRC011DK: *                                                                       04145000
       HRC011DK: * FUNCTION -                                                            04146000
       HRC011DK: *                                                                       04147000
       HRC011DK: *        SCANS DFOTABLE UNTIL MATCHING DEVICE TYPE IS FOUND.  PUTS      04148000
       HRC011DK: *        ADDRESS OF THAT ENTRY INTO ADFOTYPE, SETTING THE ADDRESS OF    04149000
       HRC011DK: *        THE DEVICE/FORMAT TABLE ENTRY.  FIELD 'TYPE' CONTAINS THE      04150000
       HRC011DK: *        DEVICE TYPE.                                                   04151000
       HRC011DK: *                                                                       04152000
       HRC011DK: * INPUT REGISTERS -                                                     04153000
       HRC011DK: *                                                                       04154000
       HRC011DK: *        R7  - RIGHT-MOST BYTE CONTAINS SPECIAL REQUEST (FOR POSSIBLE   04155000
       HRC011DK: *              SPECIFICATION SEE DESCRIPTION IN DSECT DFODATA).  BYTES  04156000
       HRC011DK: *              0-3 MUST BE SET TO ZERO.                                 04157000
       HRC011DK: *                                                                       04158000
       HRC011DK: * OUTPUT REGISTERS -                                                    04159000
       HRC011DK: *                                                                       04160000
       HRC011DK: *        R6  - POINTS TO ENTRY OF DEVICE DATA/FORMAT PROCEDURE TABLE.   04161000
       HRC011DK: *              ADFOTYPE CONTAINS POINTER TO DEVICE/FORMAT ENTRY.        04162000
       HRC011DK: *        R7  - THIS VALUE IS CHANGED                                    04163000
       HRC011DK: *                                                                       04164000
       HRC011DK: *.$******************************************************************** 04165000
       HRC011DK:          SPACE ,                                                        04166000
       HRC011DK: DFOADSET DS    0H                                                       04167000
       HRC011DK:          L     R6,=A(DFOTABLE) ADDR OF DEVICE/FORMAT DATA TABLE         04168000
       HRC011DK:          USING DFODATA,R6                                               04169000
       HRC011DK:          SPACE ,                                                        04170000
       HRC011DK: DFOADLP1 EQU   *                                                        04171000
       HRC011DK:          TM    DFOENDFL,DFOTBEND   END OF TABLE ?                       04172000
       HRC011DK:          BO    DFOADS10       YES, TAKE LAST TABLE ENTRY                04173000
       HRC011DK:          CLC   TYPE,DFOTYPE   TYPE FOUND IN TABLE ?                     04174000
       HRC011DK:          BNE   DFOADL05       NO, KEEP LOOKING                          04175000
       HRC011DK:          LTR   R7,R7          SPECIAL REQUEST ?                         04176000
       HRC011DK:          BZ    DFOADS10       NO, THEN TAKE STANDARD ENTRY              04177000
       HRC011DK:          EX    R7,DFOADFL     SPECIAL REQUEST ENTRY FOUND ?             04178000
       HRC011DK:          BO    DFOADS10       YES, TAKE THIS ONE                        04179000
       HRC011DK: DFOADL05 EQU   *                                                        04180000
       HRC011DK:          LA    R6,DFOTELEN(,R6) POINT TO NEXT ENTRY IN TABLE            04181000
       HRC011DK:          B     DFOADLP1       TRY AGAIN                                 04182000
       HRC011DK:          SPACE ,                                                        04183000
       HRC011DK: DFOADS10 EQU   *                                                        04184000
       HRC011DK:          ST    R6,ADFOTYPE    SAVE ENTRY ADDRESS                        04185000
       HRC011DK:          SPACE ,                                                        04186000
       HRC011DK: DFOADSEX EQU   *                                                        04187000
       HRC011DK:          BR    R14            BACK TO CALLER                            04188000
       HRC011DK: DFOADFL  TM    DFOENDFL,*-*   CHECK FOR SPECIAL REQUEST                 04189000
       HRC011DK:          DROP  R6                                                       04190000
       HRC011DK: *.4******************************************************************** 04191000
       HRC011DK: *                                                                       04192000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04193000
       HRC011DK: *                         *    UPHDREC     *                            04194000
       HRC011DK: *                         *----------------*                            04195000
       HRC011DK: *                                                                       04196000
       HRC011DK: * FUNCTION -                                                            04197000
       HRC011DK: *                                                                       04198000
       HRC011DK: *        UPDATES THE RECORD NUMBERS AND HEAD NUMBERS IN CCW DATA.       04199000
       HRC011DK: *        RECORDS AND HEADS ARE UPDATED ACCORDING TO THE DATA FOUND IN   04200000
       HRC011DK: *        DEVICE/FORMAT TABLE ENTRY.  ON ENTRY, ADFOTYPE POINTS TO ENTRY 04201000
       HRC011DK: *        IN DEVICE/FORMAT TABLE.                                        04202000
       HRC011DK: *                                                                       04203000
       HRC011DK: * OUTPUT REGISTERS -                                                    04204000
       HRC011DK: *                                                                       04205000
       HRC011DK: *        R4,R5,R7  - CHANGED                                            04206000
       HRC011DK: *        R6  - POINTS TO ENTRY OF DEVICE DATA/FORMAT PROCEDURE TABLE    04207000
       HRC011DK: *                                                                       04208000
       HRC011DK: *.$******************************************************************** 04209000
       HRC011DK:          SPACE ,                                                        04210000
       HRC011DK: UPHDREC  DS    0H                                                       04211000
       HRC011DK:          L     R6,ADFOTYPE    GET DEV/FORM. ENTRY ADDRESS               04212000
       HRC011DK:          USING DFODATA,R6                                               04213000
       HRC011DK:          L     R4,DFO1REC     POINT TO FIRST CCW DATA TO BE UPD         04214000
       HRC011DK:          LH    R7,DFONRECS    LOOP CNT. # OF CCW DATA TO BE UPD         04215000
       HRC011DK:          SPACE ,                                                        04216000
       HRC011DK: UPHDRL1  EQU   *                                                        04217000
       HRC011DK:          SPACE ,                                                        04218000
       HRC011DK: *    UPDATE RECORD NUMBER                                               04219000
       HRC011DK:          SR    R5,R5          PREPARE FOR OLD RECORD NUMBER             04220000
       HRC011DK:          IC    R5,D4(,R4)     GET RECORD NUMBER (FORM IS CCHHR)         04221000
       HRC011DK:          AH    R5,DFORPPAS    ADD NUMBER OF RECORDS/PASS(PAGES)         04222000
       HRC011DK:          STC   R5,D4(,R4)     STORE UPDATED VALUE BACK                  04223000
       HRC011DK:          SPACE ,                                                        04224000
       HRC011DK: *    UPDATE HEAD NUMBER                                                 04225000
       HRC011DK:          LH    R5,D2(,R4)     LOAD HH PORTION OF OLD CCHHR              04226000
       HRC011DK:          AH    R5,DFOTRPAS    ADD NUMBER OF TRACKS/PASS                 04227000
       HRC011DK:          STH   R5,D2(,R4)     STORE UPDATED VALUE BACK                  04228000
       HRC011DK:          SPACE ,                                                        04229000
       HRC011DK:          LA    R4,NXTREC(,R4) UPDATE R4 TO POINT TO NEXT CCHHR          04230000
       HRC011DK:          BCT   R7,UPHDRL1     LOOP BACK  MORE TIMES                     04231000
       HRC011DK:          SPACE ,                                                        04232000
       HRC011DK:          BR    R14            GO BACK TO CALLER                         04233000
       HRC011DK:          DROP  R6                                                       04234000
       HRC011DK: *.4******************************************************************** 04235000
       HRC011DK: *                                                                       04236000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04237000
       HRC011DK: *                         *    SENSIT      *                            04238000
       HRC011DK: *                         *    SENSIT2     *                            04239000
       HRC011DK: *                         *----------------*                            04240000
       HRC011DK: *                                                                       04241000
       HRC011DK: * FUNCTION -                                                            04242000
       HRC011DK: *                                                                       04243000
       HRC011DK: *        ISSUE SENSE TO OBTAIN SENSE INFORMATION/ISSUE MESSAGE TO USER  04244000
       HRC011DK: *        INCORPORATING THE SENSE BYTES AND FAILING CCHHR/BLOCK.         04245000
       HRC011DK: *                                                                       04246000
       HRC011DK: * LOCAL REGISTER USAGE -                                                04247000
       HRC011DK: *                                                                       04248000
       HRC011DK: *        R1  - SENSE CCW ADDRESS                                        04249000
       HRC011DK: *        R4  - WORK/MESSAGE ADDRESS                                     04250000
       HRC011DK: *        R5  - DEVICE ADDRESS                                           04251000
       HRC011DK: *        R14 - LINKAGE                                                  04252000
       HRC011DK: *                                                                       04253000
       HRC011DK: * OPERATION -                                                           04254000
       HRC011DK: *                                                                       04255000
       HRC011DK: *        SENSIT:                                                        04256000
       HRC011DK: *        1. CLEAR DEVICE STATUS AND ISSUE SENSE.  SAVE SENSE BYTES AND  04257000
       HRC011DK: *           RETURN TO CALLER.                                           04258000
       HRC011DK: *                                                                       04259000
       HRC011DK: *        SENSIT2:                                                       04260000
       HRC011DK: *        1. SET UP THE ERROR MESSAGE INCORPORATING THE CCHHR/BLOCK      04261000
       HRC011DK: *           NUMBER AND THE SENSE BYTES (EITHER 6 OR 24 BYTES).          04262000
       HRC011DK: *        2. PRINT THE MESSAGE AND RETURN.                               04263000
       HRC011DK: *                                                                       04264000
       HRC011DK: *.$******************************************************************** 04265000
       HRC011DK:          SPACE ,                                                        04266000
       HRC011DK: *---------------------------------------------------------------------- 04267000
       HRC011DK: *        CLEAR DEVICE STATUS AND ISSUE THE SENSE TO THE DEVICE.  WHEN   04268000
       HRC011DK: *        DEVICE IS READY WITH THE SENSE INFO, SAVE THE CSW AND RETURN   04269000
       HRC011DK: *        TO THE CALLER.                                                 04270000
       HRC011DK: *---------------------------------------------------------------------- 04271000
       HRC011DK:          SPACE ,                                                        04272000
       HRC011DK: SENSIT   LA    R1,CCWSENSE    ADDRESS OF SENSE CCW INTO R1              04273000
       HRC011DK:          XC    SENSE,SENSE    CLEAR SENSE AREA                          04274000
       HRC011DK:          MVC   SAVEIT(20),IOOPSW SAVE CSW,CAW,AND IO OLD PSW            04275000
       HRC011DK:          ST    R1,CAW         PUT ADDRESS OF CCW INTO CAW               04276000
       HRC011DK: SENSTIO  TIO   0(R5)          CLEAR STATUS                              04277000
       HRC011DK:          BC    2,*-4          LOOP IF BUSY                              04278000
       HRC011DK:          BC    4,SENSDE       IF CC=1, GO CHECK FOR DE                  04279000
       HRC011DK: SENSSIO  BAL   R14,STRTIO1    START DEVICE                              04280000
       HRC011DK:          TIO   0(R5)          DEVICE DONE?                              04281000
       HRC011DK:          BC    2,*-4          LOOP IF BUSY                              04282000
       HRC011DK:          MVC   SENSTA(8),CSW  SAVE CSW                                  04283000
       HRC011DK:          MVC   IOOPSW(20),SAVEIT RESTORE CSW,CAW,AND IO OLD PSW         04284000
       HRC011DK:          BR    R7             GO-WHENCE CAME YOU-                       04285000
       HRC011DK: SENSDE   TM    CSW+4,DE       DEVICE END                                04286000
       HRC011DK:          BO    SENSSIO        YES, GO DO SIO                            04287000
       HRC011DK:          B     SENSTIO                                                  04288000
       HRC011DK: *---------------------------------------------------------------------- 04289000
       HRC011DK: *        SENSIT2 IS CALLED TO PRINT THE SENSE AND CCHH ERROR INFO       04290000
       HRC011DK: *        WITHIN AN ERROR MESSAGE.                                       04291000
       HRC011DK: *---------------------------------------------------------------------- 04292000
       HRC011DK:          SPACE ,                                                        04293000
       HRC011DK: SENSIT2  DS    0H                                                       04294000
       HRC011DK:          MVC   SAVEIT(L20),IOOPSW  SAVE CSW,CAW AND IO OLD PSW          04295000
       HRC011DK:          MVC   IOERR+25(5),=C'CCHHR'  SET UP FOR CKD MESSAGE            04296000
       HRC011DK:          SPACE ,                                                        04297000
       HRC011DK: *---------------------------------------------------------------------- 04298000
       HRC011DK: *        ISSUE THE MESSAGE 'IO ERROR XXX CCHHR = XXXXXXXXXX SENSE = XXX 04299000
       HRC011DK: *        XXXXXXXXX'.  IF MORE THAN SIX SENSE BYTES, THEN PUT THE 18     04300000
       HRC011DK: *        EXTRA SENSE BYTES INTO THE ERROR MESSAGE AND PRINT THE SECOND  04301000
       HRC011DK: *        LINE OF THE ERROR MESSAGE TO INCLUDE THESE SENSE BYTES.        04302000
       HRC011DK: *---------------------------------------------------------------------- 04303000
       HRC011DK:          SPACE ,                                                        04304000
       HRC011DK: MSGLNK   EQU   *                                                        04305000
       HRC011DK:          UNPK  WORK+12(11),CCHHR(6) CHANGE CCHHR DATA TO ZONED          04306000
       HRC011DK:          TR    WORK(22),TTAB-240 TRANSLATE TO PRINTABLE CHAR            04307000
       HRC011DK:          MVC   IOERR+33(10),WORK+12 PUT CCHHR INTO THE MSG              04308000
       HRC011DK: MSGLNK1  EQU   *                                                        04309000
       HRC011DK:          LA    R4,IOERR       ADDRESS OF ERROR MESSAGE INTO R4          04310000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             04311000
       HRC011DK:          SPACE ,                                                        04312000
       HRC011DK: *---------------------------------------------------------------------- 04313000
       HRC011DK: * PUT SENSE DATA INTO MESSAGE.  FIRST ENSURE ALL ZONE BITS ARE ON, THEN 04314000
       HRC011DK: * CALCULATE NUMBER OF SENSE BYTES AND NUMBER OF BLANKS, SET UP DATA     04315000
       HRC011DK: * AREA POINTERS, AND WRITE THE MESSAGE.                                 04316000
       HRC011DK: *---------------------------------------------------------------------- 04317000
       HRC011DK:          SPACE ,                                                        04318000
       HRC011DK:          STM   R0,R3,PCREGS   SAVE REGISTERS FOR NOW                    04319000
       HRC011DK:          OI    IOERR2+7,X'F0' ENSURE ALL ZONE BITS ARE ON               04320000
       HRC011DK:          OC    IOERR2+8(63),IOERR2+7 ...                                04321000
       HRC011DK:          LA    R1,L'SENSE     MAXIMUM NUMBER OF SENSE BYTES             04322000
       HRC011DK:          LH    R2,SENSTA+6    RESIDUAL COUNT, BYTES TO BLANK            04323000
       HRC011DK:          SR    R1,R2          RESULT IS NUMBER OF SENSE BYTES           04324000
       HRC011DK:          LA    R3,SENSE       POINT TO SENSE DATA                       04325000
       HRC011DK:          LA    R4,IOERR2+7    START OF SENSE DATA IN MESSAGE            04326000
       HRC011DK:          BAL   R14,UNPKLOOP   UNPACK SUBROUTINE DOES THE WORK           04327000
       HRC011DK:          LM    R0,R3,PCREGS   RESTORE THE REGISTERS                     04328000
       HRC011DK:          LA    R4,IOERR2      ADDRESS OF 2ND LINE OF ERROR MSG          04329000
       HRC011DK:          BAL   R14,WMSG       WRITE MESSAGE                             04330000
       HRC011DK:          SPACE ,                                                        04331000
       HRC011DK: SENSIT3  DS    0H             RESTORE INFO AND RETURN                   04332000
       HRC011DK:          MVC   IOOPSW(20),SAVEIT  RESTORE CSW, CAW, I/O PSW             04333000
       HRC011DK:          BR    R7             RETURN TO CALLER                          04334000
       HRC011DK: *.4******************************************************************** 04335000
       HRC011DK: *                                                                       04336000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04337000
       HRC011DK: *                         *     FMT744     *                            04338000
       HRC011DK: *                         *----------------*                            04339000
       HRC011DK: *                                                                       04340000
       HRC011DK: * FUNCTION -                                                            04341000
       HRC011DK: *                                                                       04342000
       HRC011DK: *        DISPLAY MESSAGE 744 AFTER SENSE ID FAILURE.  DASD CONTROL      04343000
       HRC011DK: *        UNIT IS IN DEEP TROUBLE IF IT CANNOT DO A SENSE ID, SO         04344000
       HRC011DK: *        DISPLAY THE MESSAGE AND TREAT LIKE FATAL I/O ERROR.            04345000
       HRC011DK: *                                                                       04346000
       HRC011DK: * LOCAL REGISTER USAGE -                                                04347000
       HRC011DK: *                                                                       04348000
       HRC011DK: *        R14  - LINKAGE                                                 04349000
       HRC011DK: *        R1-R5 ARE WORK REGISTERS.                                      04350000
       HRC011DK: *                                                                       04351000
       HRC011DK: * OPERATION -                                                           04352000
       HRC011DK: *                                                                       04353000
       HRC011DK: *        1. SAVE INPUT ENVIRONMENT.                                     04354000
       HRC011DK: *        2. INSERT DEVICE ADDRESS AND CSW DATA INTO THE MESSAGE.        04355000
       HRC011DK: *        3. SEND THE MESSAGE, RESTORE THE ENVIRONMENT, AND EXIT.        04356000
       HRC011DK: *                                                                       04357000
       HRC011DK: *.$******************************************************************** 04358000
       HRC011DK:          SPACE ,                                                        04359000
       HRC011DK: FMT744   DS    0H             DISPLAY ERROR MESSAGE 744                 04360000
       HRC011DK:          STM   R0,R15,PCREGS  SAVE REGISTERS                            04361000
       HRC011DK:          MVC   SAVEIT(20),IOOPSW  SAVE CSW, CAW, I/O OLD PSW            04362000
       HRC011DK:          SPACE ,                                                        04363000
       HRC011DK: *---------------------------------------------------------------------- 04364000
       HRC011DK: * INSERT DEVICE ADDRESS IN MESSAGE.                                     04365000
       HRC011DK: *---------------------------------------------------------------------- 04366000
       HRC011DK:          SPACE ,                                                        04367000
       HRC011DK:          LA    R1,2           NUMBER OF BYTES TO TRANSLATE              04368000
       HRC011DK:          SR    R2,R2          NUMBER OF BYTES TO BLANK-FILL             04369000
       HRC011DK:          STH   R5,WORK        STORE DEVICE ADDRESS                      04370000
       HRC011DK:          LA    R3,WORK        SOURCE DATA POINTER                       04371000
       HRC011DK:          LA    R4,MSG744+21   DESTINATION POINTER                       04372000
       HRC011DK:          BAL   R14,UNPKLOOP   PUT DEVICE ADDRESS IN MESSAGE             04373000
       HRC011DK:          MVI   MSG744+21,C' ' BLANK OUT LEADING ZERO                    04374000
       HRC011DK:          SPACE ,                                                        04375000
       HRC011DK: *---------------------------------------------------------------------- 04376000
       HRC011DK: * INSERT CSW IN MESSAGE.                                                04377000
       HRC011DK: *---------------------------------------------------------------------- 04378000
       HRC011DK:          SPACE ,                                                        04379000
       HRC011DK:          LA    R1,8           SOURCE DATA LENGTH                        04380000
       HRC011DK:          LA    R3,CSW         SOURCE DATA ADDRESS                       04381000
       HRC011DK:          LA    R4,MSG744+42   DESTINATION DATA ADDRESS                  04382000
       HRC011DK:          BAL   R14,UNPKLOOP   GO TRANSLATE DATA                         04383000
       HRC011DK:          SPACE ,                                                        04384000
       HRC011DK:          LA    R4,MSG744      POINT TO MESSAGE                          04385000
       HRC011DK:          BAL   R14,WMSG       GO SEND IT                                04386000
       HRC011DK:          MVC   IOOPSW(20),SAVEIT  RESTORE CAW, CSW, I/O PSW             04387000
       HRC011DK:          LM    R0,R15,PCREGS  RESTORE REGISTERS                         04388000
       HRC011DK:          B     GETCARD        GO START OVER                             04389000
       HRC011DK: *.4******************************************************************** 04390000
       HRC011DK: *                                                                       04391000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04392000
       HRC011DK: *                         *    UNPKLOOP    *                            04393000
       HRC011DK: *                         *----------------*                            04394000
       HRC011DK: *                                                                       04395000
       HRC011DK: * FUNCTION -                                                            04396000
       HRC011DK: *                                                                       04397000
       HRC011DK: *        UNPACK AND TRANSLATE DATA, AND BLANK-FILL TO RIGHT BOUNDARY.   04398000
       HRC011DK: *                                                                       04399000
       HRC011DK: * INPUT REGISTERS -                                                     04400000
       HRC011DK: *                                                                       04401000
       HRC011DK: *        R1  - NUMBER OF BYTES TO TRANSLATE                             04402000
       HRC011DK: *        R2  - NUMBER OF BYTES TO BLANK-FILL                            04403000
       HRC011DK: *        R3  - SOURCE DATA POINTER                                      04404000
       HRC011DK: *        R4  - DESTINATION DATA POINTER                                 04405000
       HRC011DK: *                                                                       04406000
       HRC011DK: * LOCAL REGISTER USAGE -                                                04407000
       HRC011DK: *                                                                       04408000
       HRC011DK: *        R0 IS A WORK REGISTER.                                         04409000
       HRC011DK: *                                                                       04410000
       HRC011DK: * OPERATION -                                                           04411000
       HRC011DK: *                                                                       04412000
       HRC011DK: *        1. UNPACK AND TRANSLATE DATA.                                  04413000
       HRC011DK: *        2. BLANK-FILL TO RIGHT BOUNDARY.                               04414000
       HRC011DK: *                                                                       04415000
       HRC011DK: *.$******************************************************************** 04416000
       HRC011DK:          SPACE ,                                                        04417000
       HRC011DK: UNPKLOOP DS    0H             TRANSLATE DATA                            04418000
       HRC011DK:          IC    R0,0(R3)       MOVE IN FIRST HALF OF BYTE                04419000
       HRC011DK:          SRL   R0,4           ...                                       04420000
       HRC011DK:          STC   R0,0(R4)       ...                                       04421000
       HRC011DK:          OI    0(R4),X'F0'    ...                                       04422000
       HRC011DK:          MVN   1(1,R4),0(R3)  MOVE IN SECOND HALF OF BYTE               04423000
       HRC011DK:          TR    0(2,R4),TTAB-240  TRANSLATE BOTH TO EBCDIC               04424000
       HRC011DK:          SPACE ,                                                        04425000
       HRC011DK: *---------------------------------------------------------------------- 04426000
       HRC011DK: * UPDATE DATA POINTERS, CHECK FOR TRANSLATE BYTES DONE.                 04427000
       HRC011DK: *---------------------------------------------------------------------- 04428000
       HRC011DK:          SPACE ,                                                        04429000
       HRC011DK:          LA    R3,1(R3)       POINT TO NEXT SOURCE BYTE                 04430000
       HRC011DK:          LA    R4,2(R4)       POINT TO NEXT DESTINATION BYTE            04431000
       HRC011DK:          BCT   R1,UNPKLOOP    LOOP IF MORE SOURCE DATA                  04432000
       HRC011DK:          SPACE ,                                                        04433000
       HRC011DK: *---------------------------------------------------------------------- 04434000
       HRC011DK: * BLANK-FILL TWO BYTES FOR EACH ONE IN R2, IF ANY.                      04435000
       HRC011DK: *---------------------------------------------------------------------- 04436000
       HRC011DK:          SPACE ,                                                        04437000
       HRC011DK:          LTR   R2,R2          ANY BYTES LEFT?                           04438000
       HRC011DK:          BZ    BLNKDONE       NO, JUST RETURN TO CALLER                 04439000
       HRC011DK: BLNKLOOP DS    0H                                                       04440000
       HRC011DK:          MVC   0(2,R4),=C'  ' MOVE IN TWO BLANKS                        04441000
       HRC011DK:          LA    R4,2(R4)       POINT TO NEXT DIGIT                       04442000
       HRC011DK:          BCT   R2,BLNKLOOP    LOOP IF MORE TO DO                        04443000
       HRC011DK: BLNKDONE DS    0H             ALL DONE, EXIT                            04444000
       HRC011DK:          BR    R14            RETURN TO CALLER                          04445000
       HRC011DK: *.4******************************************************************** 04446000
       HRC011DK: *                                                                       04447000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04448000
       HRC011DK: *                         *    CORRCSW     *                            04449000
       HRC011DK: *                         *----------------*                            04450000
       HRC011DK: *                                                                       04451000
       HRC011DK: * FUNCTION -                                                            04452000
       HRC011DK: *                                                                       04453000
       HRC011DK: *        TO CALL THIS ROUTINE WE HAVE AN IMPRECISE ENDING CONDITION     04454000
       HRC011DK: *        WHICH INDICATES THAT THE CSW DOES NOT CORRECTLY REFLECT THE    04455000
       HRC011DK: *        FAILING CCW.  THIS ROUTINE WILL CORRECT THE CSW.  ONCE WE      04456000
       HRC011DK: *        ARE DONE CORRECTING THE CSW, TURN OFF THE IMPRECISE ENDING     04457000
       HRC011DK: *        CONDITION IN THE SENSE BYTES.  THE USER HAS NO NEED TO KNOW    04458000
       HRC011DK: *        THIS CONDITION EVER EXISTED SINCE WE HAVE CORRECTED THE CSW.   04459000
       HRC011DK: *                                                                       04460000
       HRC011DK: * OPERATION -                                                           04461000
       HRC011DK: *                                                                       04462000
       HRC011DK: *        1. SCAN CCW STRING FOR A LOCATE RECORD CCW AND SAVE THIS       04463000
       HRC011DK: *           ADDRESS.                                                    04464000
       HRC011DK: *        2. CALCULATE # OF RECORDS READ =                               04465000
       HRC011DK: *           (# RECS FROM LOC REC DATA ) - RESIDUAL CNT IN SENSE BYTE3)  04466000
       HRC011DK: *        3. FAILING CCW =                                               04467000
       HRC011DK: *           (# REC READ) + (LOC REC ADDR) + 8                           04468000
       HRC011DK: *           (ADD 8 TO CORRECT FOR CONTROL UNIT POINTER)                 04469000
       HRC011DK: *                                                                       04470000
       HRC011DK: *.$******************************************************************** 04471000
       HRC011DK:          SPACE ,                                                        04472000
       HRC011DK: CORRCSW  DS    0H                                                       04473000
       HRC011DK:          STM   R14,R10,STRTSAVE SAVE REGISTERS                          04474000
       HRC011DK:          L     R3,CSW         GET THE CSW                               04475000
       HRC011DK:          LA    R3,0(,R3)      CLEAR THE KEYS OUT                        04476000
       HRC011DK:          L     R4,CAW         GET THE CAW                               04477000
       HRC011DK:          LA    R4,0(,R4)      CLEAR KEYS OUT                            04478000
       HRC011DK: FINDLR   DS    0H                                                       04479000
       HRC011DK:          CLI   0(R4),TIC      BY CHANCE THIS A TIC CCW?                 04480000
       HRC011DK:          BE    TICHK          GO SEE WHERE IT GOES                      04481000
       HRC011DK:          CLI   0(R4),LOCREC   THIS A LOC REC CCW?                       04482000
       HRC011DK:          BNE   GTNXT          NO, GET THE NEXT CCW                      04483000
       HRC011DK:          ST    R4,SAVLOCR     SAVE THIS LOC REC IN CASE NXT             04484000
       HRC011DK: *                             ..ONE PASS THE FAILING CCW                04485000
       HRC011DK: GTNXT    DS    0H                                                       04486000
       HRC011DK:          CR    R4,R3          ARE WE PASSED THE FAILING CCW?            04487000
       HRC011DK:          BH    GTLOCREC       YES,GO GET LOC REC DATA                   04488000
       HRC011DK:          LA    R4,8(,R4)      GET NEXT CCW                              04489000
       HRC011DK:          B     FINDLR         CONTINUE TO FIND LOC REC CCW              04490000
       HRC011DK:          SPACE ,                                                        04491000
       HRC011DK: TICHK    DS    0H                                                       04492000
       HRC011DK:          CLM   R4,B'0111',D1(R4) TIC BACKWARD OR FORWARD?               04493000
       HRC011DK:          BNL   GTNXT          TICS BACKWARD, IGNORE IT                  04494000
       HRC011DK:          L     R4,0(,R4)      GET TIC TO ADDRESS                        04495000
       HRC011DK:          LA    R4,0(,R4)      CLEAR OP CODE                             04496000
       HRC011DK:          B     FINDLR         CONTINUE TO FIND LOC REC CCW              04497000
       HRC011DK: GTLOCREC DS    0H                                                       04498000
       HRC011DK:          L     R4,SAVLOCR     RETRIEVE LAST LOC REC CCW ADDR            04499000
       HRC011DK:          L     R5,0(,R4)      PICK UP LOC REC DATA ADDRESS              04500000
       HRC011DK:          LA    R5,0(,R5)      CLEAR THE OP CODE FROM ADDRESS            04501000
       HRC011DK:          SR    R2,R2          CLEAR WORK REG                            04502000
       HRC011DK:          IC    R2,D3(,R5)     PICK UP THE RECORD COUNT                  04503000
       HRC011DK:          SR    R5,R5          CLEAR WORK REGISTER                       04504000
       HRC011DK:          IC    R5,SENSEB3     GET THE RESIDUAL COUNT                    04505000
       HRC011DK:          SR    R2,R5          REC CNT - RES CNT = # OF REC READ         04506000
       HRC011DK:          LA    R2,2(,R2)      ADD CORRECTION FACTOR                     04507000
       HRC011DK:          SLL   R2,3           GET REC CNT IN BYTES                      04508000
       HRC011DK:          AR    R2,R4          R2= ADDR OF FAILING CCW                   04509000
       HRC011DK:          STCM  R2,B'0111',CSW+1 CORRECT THE CSW                         04510000
       HRC011DK:          NI    SENSEB2,X'FF'-IMPREND CLEAR IMPRECISE END COND.          04511000
       HRC011DK:          LM    R14,R10,STRTSAVE RESTORE REGISTERS                       04512000
       HRC011DK:          BR    R6             RETURN TO CALLER                          04513000
       HRC011DK: *.4******************************************************************** 04514000
       HRC011DK: *                                                                       04515000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04516000
       HRC011DK: *                         *    STRTIO      *                            04517000
       HRC011DK: *                         *    STRTIO1     *                            04518000
       HRC011DK: *                         *----------------*                            04519000
       HRC011DK: *                                                                       04520000
       HRC011DK: * FUNCTION -                                                            04521000
       HRC011DK: *                                                                       04522000
       HRC011DK: *        START A DEVICE AND TRAP THE FAILING DIRECTOR CONDITION.        04523000
       HRC011DK: *        THE OUTPUT IS THE CONDITION CODE FROM THE START I/O.           04524000
       HRC011DK: *        ALL REGISTERS EXCEPT R11-R13 ARE SAVED.  CSW, SENSE, AND CAW   04525000
       HRC011DK: *        ARE SAVED WHEN SENSE IS DONE.                                  04526000
       HRC011DK: *                                                                       04527000
       HRC011DK: * INPUT REGISTERS -                                                     04528000
       HRC011DK: *                                                                       04529000
       HRC011DK: *        R5  - ADDRESS OF DEVICE                                        04530000
       HRC011DK: *                                                                       04531000
       HRC011DK: * LOCAL REGISTER USAGE -                                                04532000
       HRC011DK: *                                                                       04533000
       HRC011DK: *        R3  - SAVE ADDRESS FOR POSSIBLE RESTART                        04534000
       HRC011DK: *                                                                       04535000
       HRC011DK: * OPERATION -                                                           04536000
       HRC011DK: *                                                                       04537000
       HRC011DK: *        1. CHECK FOR ERROR, IF ERROR SAVE ADDRESS FOR RESTART          04538000
       HRC011DK: *        2. START DEVICE                                                04539000
       HRC011DK: *        3. OBTAIN RESTART CCW CHAIN IF ERROR OCCURS                    04540000
       HRC011DK: *        4. RECALIBRATE FAILING DEVICE                                  04541000
       HRC011DK: *        5. ERROR RESET                                                 04542000
       HRC011DK: *                                                                       04543000
       HRC011DK: *.$******************************************************************** 04544000
       HRC011DK:          SPACE ,                                                        04545000
       HRC011DK: *---------------------------------------------------------------------- 04546000
       HRC011DK: *        HERE, SIO IS ISSUED WITHOUT THE NEED TO CLEAR DEVICE STATUS    04547000
       HRC011DK: *        WITH A TIO.  FOR CC0 OR CC3, RETURN TO CALLER.                 04548000
       HRC011DK: *---------------------------------------------------------------------- 04549000
       HRC011DK:          SPACE ,                                                        04550000
       HRC011DK: STRTIO1  EQU   *              START I/O WITHOUT TIO                     04551000
       HRC011DK:          STM   R14,R10,STRTSAVE SAVE REGS.                              04552000
       HRC011DK:          XC    EDPERCNT,EDPERCNT ZERO EDP RETRY COUNTER                 04553000
       HRC011DK:          LA    R3,RESTRT1     SAVE ADDR. FOR POSSIBLE RESTART           04554000
       HRC011DK: RESTRT1  SIO   0(R5)          START THE DEVICE                          04555000
       HRC011DK:          BC    BSY,*-4        SPIN ON CHANNEL BUSY                      04556000
       HRC011DK:          BC    CSWCDE,CSWSTRD IF CSW WAS STORED GO CHECK IT OUT         04557000
       HRC011DK:          B     STRTRET        CALLER HANDLES ANY OTHER COND.            04558000
       HRC011DK:          SPACE ,                                                        04559000
       HRC011DK: *---------------------------------------------------------------------- 04560000
       HRC011DK: *        STRTIO IS CALLED TO EITHER ISSUE A SENSE OR READ A LABEL FROM  04561000
       HRC011DK: *        A DEVICE.  THIS IS PRECEDED BY A TIO TO CLEAR DEVICE STATUS    04562000
       HRC011DK: *        FIRST.  START I/O TO THE DEVICE.  FOR CC0 OR CC3, RETURN TO    04563000
       HRC011DK: *        THE CALLER.                                                    04564000
       HRC011DK: *---------------------------------------------------------------------- 04565000
       HRC011DK:          SPACE ,                                                        04566000
       HRC011DK: STRTIO   EQU   *              START I/O WITH TIO                        04567000
       HRC011DK:          STM   R14,R10,STRTSAVE SAVE REGS.                              04568000
       HRC011DK:          TIO   0(R5)          CLEAR STATUS OF DEVICE                    04569000
       HRC011DK:          BC    BSY,*-4        IF NOT CLEAR TRY AGAIN                    04570000
       HRC011DK:          XC    EDPERCNT,EDPERCNT ZERO EDP RETRY COUNTER                 04571000
       HRC011DK:          LA    R3,RESTRTIO    ADDRESS FOR POSSIBLE RESTART              04572000
       HRC011DK: RESTRTIO EQU   *                                                        04573000
       HRC011DK:          SIO   0(R5)          START THE DEVICE                          04574000
       HRC011DK:          BC    BSY,*-4        SPIN ON CHANNEL BUSY                      04575000
       HRC011DK:          BC    CSWCDE,CKCSW1  IF CSW WAS STORED, GO CHECK               04576000
       HRC011DK:          TIO   0(R5)          LET DEVICE FINISH                         04577000
       HRC011DK:          BC    BSY,*-4        IF BUSY KEEP TRYING                       04578000
       HRC011DK: STRTRET  EQU   *                                                        04579000
       HRC011DK:          LM    R14,R10,STRTSAVE RELOAD REGS.                            04580000
       HRC011DK:          BR    R14            RETURN TO CALLER                          04581000
       HRC011DK:          SPACE ,                                                        04582000
       HRC011DK: *---------------------------------------------------------------------- 04583000
       HRC011DK: *        FOR CC1 FROM THE SIO, CHECK THE CSW STATUS.  CSWSTRD IS CALLED 04584000
       HRC011DK: *        FROM STRTIO1.  FOR DEVICE BUSY, RE-ISSUE SIO.                  04585000
       HRC011DK: *---------------------------------------------------------------------- 04586000
       HRC011DK:          SPACE ,                                                        04587000
       HRC011DK: CKCSW1   BALR  R6,0           SAVE CONDITION CODE                       04588000
       HRC011DK:          TM    CSW+4,BUSY     WAS DEVICE BUSY?                          04589000
       HRC011DK:          BO    RESTRTIO       YES, RESTART I/O                          04590000
       HRC011DK:          B     NOTBUSY        NO, CHECK FOR 3380                        04591000
       HRC011DK:          SPACE ,                                                        04592000
       HRC011DK: CSWSTRD  EQU   *                                                        04593000
       HRC011DK:          BALR  R6,0           SAVE CONDITION CODE                       04594000
       HRC011DK: NOTBUSY  EQU   *                                                        04595000
       HRC011DK:          TM    CSW+4,CUBSY+CUEND CONTROL UNIT BUSY OR END?              04596000
       HRC011DK:          BNZR  R3             YES, TRY SIO AGAIN.                       04597000
       HRC011DK:          CLI   TYPE,TYP3380   IS DEVICE A 3380 DEVICE                   04598000
       HRC011DK:          BNE   SETCCRET       NO, DON'T WORRY ABOUT FAILING DM          04599000
       HRC011DK:          SPACE ,                                                        04600000
       HRC011DK: *---------------------------------------------------------------------- 04601000
       HRC011DK: *        FOR 3380 - CHECK FOR FAILING DIRECTOR MODULE.  FOR A           04602000
       HRC011DK: *        UNIT CHECK ISSUE A SENSE TO THE FAILING DIRECTOR.  IF THE      04603000
       HRC011DK: *        SENSE INDICATES THAT THE DIRECTOR MODULE FAILED, THEN GO ISSUE 04604000
       HRC011DK: *        MESSAGE.  ELSE, RESTORE SENSE INFORMATION AND RETURN.          04605000
       HRC011DK: *---------------------------------------------------------------------- 04606000
       HRC011DK:          SPACE ,                                                        04607000
       HRC011DK: CKFLD    EQU   *                                                        04608000
       HRC011DK:          TM    UNSTAT,UC      WAS THIS UNIT CHECK?                      04609000
       HRC011DK:          BNO   SETCCRET       NO, GO REFLECT TO USER                    04610000
       HRC011DK:          MVC   STRTSVSN,SENSE SAVE THE OLD SENSE                        04611000
       HRC011DK:          LA    R2,CCWSENSE    ADDRESS OF SENSE CCW IN REG               04612000
       HRC011DK:          XC    SENSE,SENSE    CLEAR SENSE AREA                          04613000
       HRC011DK:          MVC   STRTSVIO,IOOPSW SAVE CAW,CSW AND IO OLD PSW              04614000
       HRC011DK:          ST    R2,CAW         STORE CAW                                 04615000
       HRC011DK:          SIO   0(R5)          SENSE FOR FAILING DIRECTOR                04616000
       HRC011DK:          TIO   0(R5)          WAIT FOR DEVICE TO FINISH                 04617000
       HRC011DK:          BC    BSY,*-4        STILL BUSY, KEEP TRYING                   04618000
       HRC011DK:          MVC   IOOPSW(LSAVE),STRTSVIO REST. CAW,CSW AND IOOLD           04619000
       HRC011DK:          SPACE ,                                                        04620000
       HRC011DK: *---------------------------------------------------------------------- 04621000
       HRC011DK: *        HANDLE ENVIRONMENTAL DATA PRESENT ON START I/O                 04622000
       HRC011DK: *                                                                       04623000
       HRC011DK: *           IF THERE IS NO EDP IN SENSE                                 04624000
       HRC011DK: *              THEN EXIT THIS ROUTINE                                   04625000
       HRC011DK: *           IF THIS IS FIRST EDP                                        04626000
       HRC011DK: *              THEN MOVE SENSE DATA TO SPECIAL SAVE AREA                04627000
       HRC011DK: *           IF EDP RETRY COUNT >= 255                                   04628000
       HRC011DK: *              THEN RESTORE SENSE FROM SPECIAL SAVE AREA                04629000
       HRC011DK: *                   ISSUE MESSAGE 736                                   04630000
       HRC011DK: *                   GO TO FATAL ROUTINE                                 04631000
       HRC011DK: *           INCREMENT EDP RETRY COUNT                                   04632000
       HRC011DK: *           RESTORE DEVICE ADDRESS AND RETURN TO SIO ROUTINE            04633000
       HRC011DK: *---------------------------------------------------------------------- 04634000
       HRC011DK:          SPACE ,                                                        04635000
       HRC011DK:          TM    SENSEB2,ENVDATA IF SENSE BYTE 2 DOES NOT HAVE            04636000
       HRC011DK:          BZ    EQCHKRTN           EDP THEN EXIT THIS ROUTINE            04637000
       HRC011DK: *                                 AND CHECK FOR EQUIPMENT CHECK         04638000
       HRC011DK:          LH    R4,EDPERCNT    LOAD AND CHECK EDP COUNT                  04639000
       HRC011DK:          LTR   R4,R4          IS THIS FIRST EDP?                        04640000
       HRC011DK:          BNZ   CKEDPLMT       NO, GO CHECK EDP LIMIT                    04641000
       HRC011DK:          MVC   EDPSENSE,SENSE MOVE SENSE TO SAVE AREA                   04642000
       HRC011DK:          SPACE ,                                                        04643000
       HRC011DK: CKEDPLMT DS    0H                                                       04644000
       HRC011DK:          CLC   EDPERCNT,EDPLIMIT IS RETRY COUNT >= 255?                 04645000
       HRC011DK:          BNL   EDPFATAL       YES, FATAL, TAKE ACTION                   04646000
       HRC011DK:          LA    R4,1(R4)       INCREMENT EDP RETRY COUNT                 04647000
       HRC011DK:          STH   R4,EDPERCNT    REPLACE EDP ERROR COUNT                   04648000
       HRC011DK:          L     R5,STRTSAVE+D28 RESTORE DEVICE ADDRESS                   04649000
       HRC011DK:          BR    R3             RETURN TO SIO ROUTINE                     04650000
       HRC011DK:          SPACE ,                                                        04651000
       HRC011DK: EDPFATAL DS    0H             FATAL CONDITIONS EXIST                    04652000
       HRC011DK:          MVC   SENSE,EDPSENSE RESTORE SENSE                             04653000
       HRC011DK:          BAL   R7,SENSIT2     PRT SENSE AND CCHH MESSAGE                04654000
       HRC011DK:          B     FATAL          GO TO FATAL AND ABORT                     04655000
       HRC011DK:          SPACE ,                                                        04656000
       HRC011DK: *---------------------------------------------------------------------- 04657000
       HRC011DK: *        MUST CHECK FOR EQUIPMENT CHECK AND FAILING DIRECTOR            04658000
       HRC011DK: *        IT IS NOT FAILING DIRECTOR UNLESS BOTH ARE ON                  04659000
       HRC011DK: *---------------------------------------------------------------------- 04660000
       HRC011DK:          SPACE ,                                                        04661000
       HRC011DK: EQCHKRTN DS    0H                                                       04662000
       HRC011DK:          TM    SENSE,EQCHK    ANY EQUIPMENT CHECK?                      04663000
       HRC011DK:          BZ    NOTEQCHK       NO EQUIPMENT CHECK, BRANCH                04664000
       HRC011DK:          TM    SENSEB1,FLNGDRCT WAS IT THE DIRECTOR MODULE ?            04665000
       HRC011DK:          BO    CSWMSG         YES, TELL USER WHAT HAPPENED              04666000
       HRC011DK: NOTEQCHK DS    0H             NO FAILING DIRECTOR                       04667000
       HRC011DK:          MVC   IOOPSW(LSAVE),STRTSVIO REST. CAW,CSW AND IO OLD          04668000
       HRC011DK:          MVC   SENSE,STRTSVSN RESTORE SENSE INFORMATION                 04669000
       HRC011DK:          B     SETCCRET       SET CC AND RETURN                         04670000
       HRC011DK:          SPACE ,                                                        04671000
       HRC011DK: *---------------------------------------------------------------------- 04672000
       HRC011DK: *        BYTE 1, BIT 3 INDICATES THAT A PERMANENT FAILURE OCCURRED IN   04673000
       HRC011DK: *        THE OTHER STORAGE DIRECTOR IN THE SAME 3880 OR WITH A STATE    04674000
       HRC011DK: *        SAVE OPERATION IN THE REPORTING STORAGE DIRECTOR.  BYTE 0,     04675000
       HRC011DK: *        BIT 3 INDICATES AN EQUIPMENT CHECK.  THESE TWO BITS COMBINED   04676000
       HRC011DK: *        INDICATE A PERMANENT FAILURE OF THE ALTERNATE STORAGE          04677000
       HRC011DK: *        DIRECTOR.                                                      04678000
       HRC011DK: *                                                                       04679000
       HRC011DK: *        FOR 3380 - ISSUE MESSAGE 'XXX REPORTS DISABLED INTERFACE;      04680000
       HRC011DK: *        FLT CODE = XXXX; NOTIFY CE' AND THEN GO RESTART THE I/O.       04681000
       HRC011DK: *                                                                       04682000
       HRC011DK: *                                                                       04683000
       HRC011DK: *     TRANSLATION PROCESS:                                              04684000
       HRC011DK: *                                                                       04685000
       HRC011DK: *      HEX DASD ADDRESS                  PRELIMINARY DASD ADDRESS       04686000
       HRC011DK: *     +----+----+----+        UNPK         +----+----+----+----+        04687000
       HRC011DK: *     | 01 | 9A | XX |        ----->       | F1 | F9 | FA | XX |        04688000
       HRC011DK: *     +----+----+----+                     +----+----+----+----+        04689000
       HRC011DK: *                                                                       04690000
       HRC011DK: *      HEX FAULT CODE          PRELIMINARY DASD ADDRESS AND FAULT CODE  04691000
       HRC011DK: *     +----+----+----+  UNPK  +----+----+----+----+----+----+----+----+ 04692000
       HRC011DK: *     | D6 | CB | XX | -----> | F1 | F9 | FA | FD | F6 | FC | FB | XX | 04693000
       HRC011DK: *     +----+----+----+        +----+----+----+----+----+----+----+----+ 04694000
       HRC011DK: *                                                                       04695000
       HRC011DK: *     PRELIMINARY DATA           EBCDIC DASD ADDRESS AND FAULT CODE     04696000
       HRC011DK: *     +----+----+----+  TR    +----+----+----+----+----+----+----+      04697000
       HRC011DK: *     |    |    |    | -----> | F1 | F9 | C1 | C4 | F6 | C3 | C2 |      04698000
       HRC011DK: *     +----+----+----+        +----+----+----+----+----+----+----+      04699000
       HRC011DK: *                              DASD ADDRESS  |    FAULT CODE            04700000
       HRC011DK: *                                                                       04701000
       HRC011DK: *---------------------------------------------------------------------- 04702000
       HRC011DK:          SPACE ,                                                        04703000
       HRC011DK: CSWMSG   EQU   *                                                        04704000
       HRC011DK:          UNPK  WORK(L4),DSKADD(L3) CONVERT DEVICE ADDRESS               04705000
       HRC011DK:          UNPK  WORK+D3(L5),FLTCDE(L3) CONVERT FAULT CODE                04706000
       HRC011DK:          TR    WORK(L7),TTAB-D240 ......                                04707000
       HRC011DK:          MVC   DRCTFAIL+D12(L3),WORK MOVE DEVICE ADDR INTO MSG          04708000
       HRC011DK:          MVC   DRCTFAIL+D55(L4),WORK+D3 MOVE FLT CODE INTO MSG          04709000
       HRC011DK:          LA    R4,DRCTFAIL    ADDRESS OF MESSAGE INTO R4                04710000
       HRC011DK:          BAL   R14,WMSG       GO WRITE THE MESSAGE                      04711000
       HRC011DK:          L     R5,STRTSAVE+D28 RESTORE THE DEVICE ADDRESS.              04712000
       HRC011DK:          MVC   IOOPSW(LSAVE),STRTSVIO REST. THE CSW,CAW, IOPSW          04713000
       HRC011DK:          MVC   SENSE,STRTSVSN RESTORE SENSE INFORMATION                 04714000
       HRC011DK:          BR    R3             GO RESTART THE IO                         04715000
       HRC011DK:          SPACE ,                                                        04716000
       HRC011DK: *---------------------------------------------------------------------- 04717000
       HRC011DK: *        RESTORE THE SIO CONDITION CODE AND THEN RETURN TO THE CALLER.  04718000
       HRC011DK: *---------------------------------------------------------------------- 04719000
       HRC011DK:          SPACE ,                                                        04720000
       HRC011DK: SETCCRET EQU   *                                                        04721000
       HRC011DK:          SPM   R6             SET CC FROM SIO                           04722000
       HRC011DK:          B     STRTRET        AND RETURN TO USER                        04723000
       HRC011DK: *.4******************************************************************** 04724000
       HRC011DK: *                                                                       04725000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04726000
       HRC011DK: *                         *     ALTCHK     *                            04727000
       HRC011DK: *                         *----------------*                            04728000
       HRC011DK: *                                                                       04729000
       HRC011DK: * FUNCTION -                                                            04730000
       HRC011DK: *                                                                       04731000
       HRC011DK: *        CHECK POINTERS IN FLAGGED PRIMARY TRACK AND ALTERNATE TRACK    04732000
       HRC011DK: *        TO SEE THAT EACH POINTS TO THE OTHER AND RETURN THE CCHH       04733000
       HRC011DK: *        ADDRESS OF WHICHEVER WE ARE CURRENTLY NOT AT.                  04734000
       HRC011DK: *                                                                       04735000
       HRC011DK: * INPUT REGISTERS -                                                     04736000
       HRC011DK: *                                                                       04737000
       HRC011DK: *        R7  - RETURN ADDRESS                                           04738000
       HRC011DK: *                                                                       04739000
       HRC011DK: * OUTPUT REGISTERS -                                                    04740000
       HRC011DK: *                                                                       04741000
       HRC011DK: *        R0  - =0 IF CCHH IN R1 POINTS TO THE ASSIGNED ALTERNATE        04742000
       HRC011DK: *              =1 IF CCHH IN R1 POINTS TO THE DEFECTIVE PRIMARY         04743000
       HRC011DK: *        R1  - (-1) IF TRACKS DO NOT POINT TO EACH OTHER CORRECTLY,     04744000
       HRC011DK: *              OTHERWISE R1 = CCHH ADDRESS OF WHICHEVER OF THE TWO      04745000
       HRC011DK: *              TRACKS WE ARE NOT AT WHEN THE TRACK CONDITION CHECK      04746000
       HRC011DK: *              WAS DETECTED.                                            04747000
       HRC011DK: *                                                                       04748000
       HRC011DK: * LOCAL REGISTER USAGE -                                                04749000
       HRC011DK: *                                                                       04750000
       HRC011DK: *        R0  - TRACK USAGE BIT                                          04751000
       HRC011DK: *        R1  - WORK                                                     04752000
       HRC011DK: *        R6  - ADDRESSABILITY                                           04753000
       HRC011DK: *        R7  - LINKAGE                                                  04754000
       HRC011DK: *                                                                       04755000
       HRC011DK: * OPERATION -                                                           04756000
       HRC011DK: *                                                                       04757000
       HRC011DK: *        TWO I/O OPERATIONS HAVE TO BE SCHEDULED FROM HERE WHICH MEANS  04758000
       HRC011DK: *        THAT TWICE CONTROL WILL HAVE TO LEAVE THIS SUBROUTINE AND      04759000
       HRC011DK: *        COME BACK IN BEFORE WE CAN RETURN TO OUR CALLER.  THIS IS      04760000
       HRC011DK: *        ACCOMPLISHED BY GOING TO OP V (STIO) AFTER SETTING A FLAG THAT 04761000
       HRC011DK: *        THE I/O INTERRUPT HANDLER RECOGNIZES AS A SIGNAL TO RE-ENTER   04762000
       HRC011DK: *        THIS ROUTINE.  THE I/O HANDLER CHECKS FOR ERRORS BEFORE        04763000
       HRC011DK: *        CHECKING OUR FLAG, SO ERROR RECOVERY CAN BE TRIED ON OUR I/O   04764000
       HRC011DK: *        IF NECESSARY.                                                  04765000
       HRC011DK: *                                                                       04766000
       HRC011DK: *        1. GET THE CCHH ADDRESS OF THE TRACK WE ARE CURRENTLY ON.      04767000
       HRC011DK: *        2. READ THE HOME ADDRESS AND RECORD 0 OF THIS TRACK.           04768000
       HRC011DK: *        3. READ THE HOME ADDRESS AND RECORD 0 OF THE SECOND TRACK      04769000
       HRC011DK: *           (WHICH WOULD BE EITHER THE ALTERNATE TRACK OR THE DEFECTIVE 04770000
       HRC011DK: *           PRIMARY TRACK).                                             04771000
       HRC011DK: *        4. TEST THE TRACK USAGE BITS OF THIS TRACK.  IF NOT MIXED,     04772000
       HRC011DK: *           THEN EXIT.                                                  04773000
       HRC011DK: *        5. CHECK THE TRACK USAGE BITS TO VERIFY THAT ONE AND ONLY ONE  04774000
       HRC011DK: *           OF THE TRACKS IS AN ASSIGNED ALTERNATE.                     04775000
       HRC011DK: *        6. RETURN IN R1 THE CCHH OF THE SECOND TRACK AND RETURN IN R0  04776000
       HRC011DK: *           THE TRACK USAGE (ASSIGNED ALTERNATE OR DEFECTIVE PRIMARY).  04777000
       HRC011DK: *                                                                       04778000
       HRC011DK: *.$******************************************************************** 04779000
       HRC011DK:          SPACE ,                                                        04780000
       HRC011DK: *---------------------------------------------------------------------- 04781000
       HRC011DK: *        CALL THE SENSCCHH SUBROUTINE WHICH RETURNS IN R1 THE CCHH      04782000
       HRC011DK: *        ADDRESS OF THE TRACK WE ARE CURRENTLY ON.  THIS IS OBTAINED    04783000
       HRC011DK: *        FROM THE SENSE DATA READ AT THE TIME OF THE TRACK CONDITION    04784000
       HRC011DK: *        CHECK.                                                         04785000
       HRC011DK: *---------------------------------------------------------------------- 04786000
       HRC011DK:          SPACE ,                                                        04787000
       HRC011DK: ALTCHK   STM   R2,R7,ALTCHKSV                                           04788000
       HRC011DK:          BAL   R7,SENSCCHH    GET CCHH TO THE FLAGGED TRACK             04789000
       HRC011DK:          STCM  R1,15,CCHHR    SAVE CCHH FOR POSSIBLE CALL TO            04790000
       HRC011DK: *                             SENSIT2.                                  04791000
       HRC011DK:          MVI   CCHHR+4,X'00'  SET R OF CCHHR TO 0 FOR SENSIT2.          04792000
       HRC011DK:          ST    R1,CCHHSV      SAVE CURRENT TRK FOR COMPARISON           04793000
       HRC011DK: *                             WITH BACKWARD POINTER LATER               04794000
       HRC011DK:          STCM  R1,15,HAR0SKAD+2 STORE CCHH FOR SEEK CCW TO              04795000
       HRC011DK: *                             ACCESS                                    04796000
       HRC011DK:          SPACE ,                                                        04797000
       HRC011DK: *---------------------------------------------------------------------- 04798000
       HRC011DK: *        HAR0READ FLAG INDICATES TO THE DASD INTERRUPT HANDLER THAT     04799000
       HRC011DK: *        ALTERNATE TRACK RECOVERY IS IN PROGRESS AND THAT CONTROL IS TO 04800000
       HRC011DK: *        BE RETURNED TO THIS ROUTINE.  GO START THE CHANNEL PROGRAM TO  04801000
       HRC011DK: *        READ THE HOME ADDRESS AND RECORD 0 AND THEN RETURN TO ALTCHK2. 04802000
       HRC011DK: *---------------------------------------------------------------------- 04803000
       HRC011DK:          SPACE ,                                                        04804000
       HRC011DK:          LA    R1,READHAR0    ADDR OF CHNL PRG TO READ HA, R0.          04805000
       HRC011DK:          ST    R1,CAW         SET FOR SIO.                              04806000
       HRC011DK:          MVI   ALTFLAG,HAR0READ ALT TRK RECOVERY IN PROGRESS            04807000
       HRC011DK:          LA    R1,ALTCHK2     POINT TO GET CONTROL UPON                 04808000
       HRC011DK: *                             RETURN HERE AFTER I/O COMPLETES.          04809000
       HRC011DK:          ST    R1,CONTINAD    SAVE FOR INTERRUPT HANDLER.               04810000
       HRC011DK:          B     STIO2          START CHNL PRG TO READ HA, R0.            04811000
       HRC011DK:          SPACE ,                                                        04812000
       HRC011DK: *---------------------------------------------------------------------- 04813000
       HRC011DK: *        RETURN HERE AFTER READING HOME ADDRESS AND RECORD 0.           04814000
       HRC011DK: *        NOW ISSUE SIO TO SEEK TO CCHH READ FROM HOME ADDRESS ABOVE AND 04815000
       HRC011DK: *        READ NEXT HOME ADDRESS AND RECORD 0.  CONTROL RETURNS HERE     04816000
       HRC011DK: *        TO ALTCHK3.                                                    04817000
       HRC011DK: *---------------------------------------------------------------------- 04818000
       HRC011DK:          SPACE ,                                                        04819000
       HRC011DK:          USING ALTCHK2,R6                                               04820000
       HRC011DK: ALTCHK2  MVC   HAFLAGSV(L1),HADATA SAVE FLAG BYTE FROM HA.              04821000
       HRC011DK:          MVC   HAR0SKAD+2(L4),R0DATA USE CCHH POINTER TO OTHER          04822000
       HRC011DK: *                                    TRK AS NEXT SEEK ADDR.             04823000
       HRC011DK:          LA    R1,ALTCHK3     POINT TO GET CONTROL AFTER IO END         04824000
       HRC011DK:          ST    R1,CONTINAD    SAVE FOR INTERRUPT HANDLER.               04825000
       HRC011DK:          B     STIO2          START SAME CHNL PRG TO READ HA,           04826000
       HRC011DK: *                             R0, BUT FROM THE OTHER TRACK THIS TIME.   04827000
       HRC011DK:          SPACE ,                                                        04828000
       HRC011DK: *---------------------------------------------------------------------- 04829000
       HRC011DK: *        RETURN HERE AFTER READING HOME ADDRESS AND RECORD 0 THE SECOND 04830000
       HRC011DK: *        TIME.  TEST THE TRACK USAGE BITS IN THE HOME ADDRESS HADATA    04831000
       HRC011DK: *        FLAG BYTE.  THIS FLAG CAN BE FROM EITHER THE PRIMARY OR THE    04832000
       HRC011DK: *        ALTERNATE DEPENDING ON WHERE WE WERE WHEN THIS ROUTINE WAS     04833000
       HRC011DK: *        CALLED.  IF NOT MIXED BITS, EXIT WITH ERROR FLAG IN R1 (BOTH   04834000
       HRC011DK: *        BITS THE SAME ARE FORBIDDEN).                                  04835000
       HRC011DK: *---------------------------------------------------------------------- 04836000
       HRC011DK:          SPACE ,                                                        04837000
       HRC011DK:          USING ALTCHK3,R6                                               04838000
       HRC011DK: ALTCHK3  SR    R0,R0                                                    04839000
       HRC011DK:          SR    R1,R1          0 IN R1.                                  04840000
       HRC011DK:          BCTR  R1,0           -1 IN R1 IN CASE OF ERROR EXIT.           04841000
       HRC011DK:          TM    HADATA,X'03'   TEST TRACK USAGE BITS IN HA FLAG          04842000
       HRC011DK:          BNM   ALTCHKEX       IF NOT MIXED, EXIT WITH ERROR             04843000
       HRC011DK:          CLC   CCHHSV(L4),R0DATA DOES 2ND TRK POINT BACK TO 1ST         04844000
       HRC011DK:          BNE   ALTCHKEX       NO, EXIT WITH -1 IN R1.                   04845000
       HRC011DK:          SPACE ,                                                        04846000
       HRC011DK: *---------------------------------------------------------------------- 04847000
       HRC011DK: *        WE STILL MIGHT HAVE A SINGLE TRACK POINTING TO ITSELF.  CHECK  04848000
       HRC011DK: *        THE FLAG BYTES TO SEE IF ONE AND ONLY ONE OF THEM IS AN        04849000
       HRC011DK: *        ASSIGNED ALTERNATE.  IF NEITHER WAS THE ALTERNATE, EXIT.       04850000
       HRC011DK: *---------------------------------------------------------------------- 04851000
       HRC011DK:          SPACE ,                                                        04852000
       HRC011DK:          XC    HADATA(L1),HAFLAGSV XC OLD FLAG BYTE INTO NEW            04853000
       HRC011DK: *                                  FLAG BYTE.                           04854000
       HRC011DK:          TM    HADATA,X'01'   BIT REMAINING ON IN FLAG BYTE             04855000
       HRC011DK: *                             MEANS ONE AND ONLY ONE WAS ALTERNATE.     04856000
       HRC011DK:          BNO   ALTCHKEX       ERROR, NEITHER WAS ALTERNATE.             04857000
       HRC011DK:          SPACE ,                                                        04858000
       HRC011DK: *---------------------------------------------------------------------- 04859000
       HRC011DK: *        WE HAVE AN ALTERNATE - RETURN IN R1 THE CCHH OF THE SECOND     04860000
       HRC011DK: *        TRACK AND RETURN IN R0 0 IF R1 POINTS TO ASSIGNED ALTERNATE    04861000
       HRC011DK: *        OR 1 IF R1 POINTS TO DEFECTIVE PRIMARY.                        04862000
       HRC011DK: *---------------------------------------------------------------------- 04863000
       HRC011DK:          SPACE ,                                                        04864000
       HRC011DK:          ICM   R1,15,HAR0SKAD+2 RETURN CCHH OF 2ND TRACK.               04865000
       HRC011DK:          NI    HAFLAGSV,X'01' CLEAR 1ST BYTE OF ALL BUT 'TRACK          04866000
       HRC011DK: *                             USAGE' BIT.                               04867000
       HRC011DK:          IC    R0,HAFLAGSV    'TRACK USAGE' BIT IN 1ST FLAG             04868000
       HRC011DK: *                             BYTE IS INVERSE OF BIT IN 2ND FLAG BYTE   04869000
       HRC011DK: *                             THAT CCHH IN R1 POINTS TO.                04870000
       HRC011DK: ALTCHKEX MVI   ALTFLAG,0      TURN OFF SIGNAL TO INTERRUPT HDLR         04871000
       HRC011DK:          LM    R2,R7,ALTCHKSV                                           04872000
       HRC011DK:          BR    R7             RETURN                                    04873000
       HRC011DK:          DROP  R6                                                       04874000
       HRC011DK: *.4******************************************************************** 04875000
       HRC011DK: *                                                                       04876000
       HRC011DK: * SUBROUTINE NAME -       *----------------*                            04877000
       HRC011DK: *                         *   SENSCCHH     *                            04878000
       HRC011DK: *                         *----------------*                            04879000
       HRC011DK: *                                                                       04880000
       HRC011DK: * FUNCTION -                                                            04881000
       HRC011DK: *                                                                       04882000
       HRC011DK: *        COMPUTE CCHH FROM SENSE DATA READ PREVIOUSLY.                  04883000
       HRC011DK: *                                                                       04884000
       HRC011DK: * INPUT REGISTERS -                                                     04885000
       HRC011DK: *                                                                       04886000
       HRC011DK: *        R7  - RETURN ADDRESS                                           04887000
       HRC011DK: *                                                                       04888000
       HRC011DK: * OUTPUT REGISTERS -                                                    04889000
       HRC011DK: *                                                                       04890000
       HRC011DK: *        R1  - CCHH DATA TAKEN FROM SENSE DATA BUFFER.                  04891000
       HRC011DK: *                                                                       04892000
       HRC011DK: *.$******************************************************************** 04893000
       HRC011DK:          SPACE ,                                                        04894000
       HRC011DK: SENSCCHH IC    R1,SENSE+6                                               04895000
       HRC011DK:          SRL   R1,5           CYL BITS 512, 256 RIGHT JUSTIFIED         04896000
       HRC011DK:          STC   R1,SENSWORK                                              04897000
       HRC011DK:          NI    SENSWORK,X'03' CLEAR ALL BUT BITS 512, 256.              04898000
       HRC011DK:          MVC   SENSWORK+1(L1),SENSE+5 LOW ORDER CYL ADDR.               04899000
       HRC011DK:          MVN   SENSWORK+3(L1),SENSE+6 HEAD ADDRESS.                     04900000
       HRC011DK:          L     R1,SENSWORK                                              04901000
       HRC011DK:          BR    R7                                                       04902000
       HRC011DK: SENSWORK DC    F'0'                                                     04903000
       HRC011DK: *---------------------------------------------------------------------- 04904000
       HRC011DK: *                                                                       04905000
       HRC011DK: *        CONSOLE MESSAGES                                               04906000
       HRC011DK: *                                                                       04907000
       HRC011DK: *---------------------------------------------------------------------- 04908000
       HRC011DK:          SPACE ,                                                        04909000
       HRC011DK: LABELOK  DC    AL1(TITLE-*-1)                                           04910000
       HRC011DK:          DC    C'LABEL IS NOW XXXXXX'                                   04911000
       HRC011DK: TITLE    DC    AL1(FORA-*-1)                                            04912000
       HRC011DK:          DC    C'VM/370 FORMAT/ALLOCATE PROGRAM '                       04913000
       HRC011DK:          DC    C'RELEASE 6'                                             04914000
       HRC011DK: FORA     DC    AL1(FMTMSG-*-1)                                          04915000
       HRC011DK:          DC    C'ENTER FORMAT OR ALLOCATE:'                             04916000
       HRC011DK: FMTMSG   DC    AL1(ALLOCMSG-*-1)                                        04917000
       HRC011DK:          DC    C'FORMAT FUNCTION SELECTED'                              04918000
       HRC011DK: ALLOCMSG DC    AL1(ADDRESS-*-1)                                         04919000
       HRC011DK:          DC    C'ALLOCATE FUNCTION SELECTED'                            04920000
       HRC011DK: ADDRESS  DC    AL1(WR1-*-1)                                             04921000
       HRC011DK:          DC    C'ENTER DEVICE ADDRESS (CUU):'                           04922000
       HRC011DK: WR1      DC    AL1(TYPMSG-*-1)                                          04923000
       HRC011DK:          DC    C'DMKFMT730E DEV XXX NOT OPERATIONAL OR '                04924000
       HRC011DK:          DC    C'NOT READY.'                                            04925000
       HRC011DK: TYPMSG   DC    AL1(PCMSG-*-1)                                           04926000
       HRC011DK:          DC    C'ENTER DEVICE TYPE:'                                    04927000
       HRC011DK: PCMSG    DC    AL1(MCMSG-*-1)                                           04928000
       HRC011DK:          DC    C'DMKFMT756E PROGRAM CHECK PSW = '                       04929000
       HRC011DK:          DC    C'XXXXXXXXXXXXXXXX'                                      04930000
       HRC011DK: MCMSG    DC    AL1(ALMSG-*-1)                                           04931000
       HRC011DK:          DC    C'DMKFMT732E MACHINE CHECK'                              04932000
       HRC011DK: ALMSG    DC    AL1(ALMSG1-*-1)                                          04933000
       HRC011DK:          DC    C'TYPE CYL  CYL'                                         04934000
       HRC011DK: ALMSG1   DC    AL1(WRONG-*-1)                                           04935000
       HRC011DK:          DC    C'.... ... ...'                                          04936000
       HRC011DK: WRONG    DC    AL1(WRDEV1-*-1)                                          04937000
       HRC011DK:          DC    C'DMKFMT733E VOLID READ IS XXXXXX NOT XXXXXX'            04938000
       HRC011DK: WRDEV1   DC    AL1(WRDEV2-*-1)                                          04939000
       HRC011DK:          DC    C'DMKFMT741E DEVICE '                                    04940000
       HRC011DK: WRDEV1AD DC    C'CUU'                                                   04941000
       HRC011DK:          DC    C' IS '                                                  04942000
       HRC011DK: WRDEV1AC DC    C'XXXX'                                                  04943000
       HRC011DK:          DC    C', NOT '                                                04944000
       HRC011DK: WRDEV1SP DC    C'XXXX-YY'                                               04945000
       HRC011DK:          DC    C' AS SPECIFIED'                                         04946000
       HRC011DK: WRDEV2   DC    AL1(DATAMSG-*-1)                                         04947000
       HRC011DK:          DC    C'RESPECIFY OR NOTIFY SYSTEM SUPPORT'                    04948000
       HRC011DK: DATAMSG  DC    AL1(TYPERR-*-1)                                          04949000
       HRC011DK:          DC    C'ENTER ALLOCATION DATA FOR VOLUME '                     04950000
       HRC011DK: DATAMSG1 DC    C'XXXXXX '                                               04951000
       HRC011DK: TYPERR   DC    AL1(MAP-*-1)                                             04952000
       HRC011DK:          DC    C'DMKFMT734E TYPE OR CYL INVALID'                        04953000
       HRC011DK: MAP      DC    AL1(ALLEND-*-1)                                          04954000
       HRC011DK:          DC    C'XXXX 0000 0000'                                        04955000
       HRC011DK: ALLEND   DC    AL1(STCYL-*-1)                                           04956000
       HRC011DK:          DC    C'DEVICE XXX VOLUME XXXXXX ALLOCATION ENDED'             04957000
       HRC011DK: STCYL    DC    AL1(ENDCYL-*-1)                                          04958000
       HRC011DK:          DC    C'ENTER START CYLINDER (XXX OR XXXX) OR "LABEL":'        04959000
       HRC011DK: *                                                                       04960000
       HRC011DK: ENDCYL   DC    AL1(PROGFOR-*-1)                                         04961000
       HRC011DK:          DC    C'ENTER END CYLINDER (XXX OR XXXX):'                     04962000
       HRC011DK: PROGFOR  DC    AL1(RDLAB-*-1)                                           04963000
       HRC011DK:          DC    C'FORMAT STARTED'                                        04964000
       HRC011DK: RDLAB    DC    AL1(WVMSG1-*-1)                                          04965000
       HRC011DK:          DC    C'ENTER DEVICE LABEL:'                                   04966000
       HRC011DK: WVMSG1   DC    AL1(WVMSG2-*-1)                                          04967000
       HRC011DK:          DC    C'WRITE VERIFICATION NOT PERFORMED UNLESS REQUESTED.'    04968000
       HRC011DK: WVMSG2   DC    AL1(WVMSG3-*-1)                                          04969000
       HRC011DK:          DC    C'ENTER "YES" FOR WRITE VERIFICATION:'                   04970000
       HRC011DK: WVMSG3   DC    AL1(ENDFOR-*-1)                                          04971000
       HRC011DK:          DC    C'WRITE VERIFICATION WAS NOT PERFORMED'                  04972000
       HRC011DK: ENDFOR   DC    AL1(FATLMSG-*-1)                                         04973000
       HRC011DK:          DC    C'FORMAT DONE'                                           04974000
       HRC011DK: FATLMSG  DC    AL1(PAGE-*-1)                                            04975000
       HRC011DK:          DC    C'DMKFMT735E FATAL DASD I/O ERROR'                       04976000
       HRC011DK:          DC    C' CSW=XXXXXXXXXXXXXXXX'                                 04977000
       HRC011DK: PAGE     DC    AL1(IOERR-*-1)                                           04978000
       HRC011DK:          DC    C'XXXX NO. PAGE RECORDS WITH READ-CHECK ERRORS'          04979000
       HRC011DK: IOERR    DC    AL1(M736L)                                               04980000
       HRC011DK:          DC    C'DMKFMT736E IO ERROR XXX CCHHR = 0000000000'            04981000
       HRC011DK: M736L    EQU   *-IOERR-1                                                04982000
       HRC011DK: IOERR2   DC    AL1(M736L2)                                              04983000
       HRC011DK:          DC    C'SENSE=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'                04984000
       HRC011DK:          DC    C'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'                      04985000
       HRC011DK: M736L2   EQU   *-IOERR2-1                                               04986000
       HRC011DK: BAD      DC    AL1(IPLERROR-*-1)                                        04987000
       HRC011DK: BADMSG   DC    C'DMKFMT737E INVALID OPERAND'                            04988000
       HRC011DK: IPLERROR DC    AL1(IPLERRL)                                             04989000
       HRC011DK:          DC    C'DMKFMT738A DEV XXX INTERVENTION REQUIRED'              04990000
       HRC011DK: IPLERRL  EQU   *-IPLERROR-1                                             04991000
       HRC011DK: MSGATRK  DC    AL1(MSGATRKL)                                            04992000
       HRC011DK:          DC    C'DMKFMT739E FLAGGED PRIMARY TRACK HAS NO '              04993000
       HRC011DK:          DC    C'ALTERNATE ASSIGNED, I/O ERROR FOLLOWS'                 04994000
       HRC011DK: MSGATRKL EQU   *-MSGATRK-1                                              04995000
       HRC011DK: MSG35MB  DC    AL1(MSG35MBL)                                            04996000
       HRC011DK:          DC    C'DMKFMT740E PACK MOUNTED IS 3340-35, NOT '              04997000
       HRC011DK:          DC    C'3340-70.  MOUNT ANOTHER OR RESPECIFY.'                 04998000
       HRC011DK: MSG35MBL EQU   *-MSG35MB-1                                              04999000
       HRC011DK: MSG744   DC    AL1(M744L)                                               05000000
       HRC011DK:          DC    C'DMKFMT744E I/O ERROR 000 CODE = E4'                    05001000
       HRC011DK:          DC    C' CSW = 0000000000000000'                               05002000
       HRC011DK: M744L    EQU   *-MSG744-1                                               05003000
       HRC011DK: DRCTFAIL DC    AL1(DRCTFLLN)                                            05004000
       HRC011DK:          DC    C'DMKFMT536I XXX REPORTS DISABLED INTERFACE;'            05005000
       HRC011DK:          DC    C' FLT CODE = XXXX; NOTIFY CE'                           05006000
       HRC011DK: DRCTFLLN EQU   *-DRCTFAIL-1                                             05007000
       HRC011DK: CARDMESS DC    AL1(RESPONSE-*-1)                                        05008000
       HRC011DK: CDINPUT  DC    80C' '         CARD INPUT - VIA CARDCCW                  05009000
       HRC011DK: RESPONSE DC    AL1(RESULTS-*-1)                                         05010000
       HRC011DK: ANSWER   DC    C'                       '                               05011000
       HRC011DK: RESULTS  DC    AL1(END-*-1)                                             05012000
       HRC011DK:          DC    C'ALLOCATION RESULTS'                                    05013000
       HRC011DK: END      EQU   *                                                        05014000
       HRC011DK: MSG742   DC    AL1(MSG742X)                                    @VA15782 05015000
       HRC011DK:          DC    C'DMKFMT742E ALLOCATION FUNCTION NOT ALLOWED '  @VA15782 05016000
       HRC011DK: MSG742X  EQU   *-MSG742-1                                      @VA15782 05017000
       HRC011DK: MSG742A  DC    AL1(MSG742AX)                                   @VA15782 05018000
       HRC011DK:          DC    C'           FORMAT OF VOLUME IS A PREREQUISITE '        05019000
       HRC011DK: MSG742AX EQU   *-MSG742A-1                                     @VA15782 05020000
       HRC011DK: *---------------------------------------------------------------------- 05021000
       HRC011DK: *                                                                       05022000
       HRC011DK: *        CONSTANTS FOR CARD AND COMMUNICATION PROCESSING                05023000
       HRC011DK: *                                                                       05024000
       HRC011DK: *---------------------------------------------------------------------- 05025000
       HRC011DK:          SPACE ,                                                        05026000
       HRC011DK: CONSIRA  DS    0D             I/O NEW PSW AT X'120'                     05027000
       HRC011DK:          DC    X'00040000'                                              05028000
       HRC011DK:          DC    A(CONSINT)     CONSOLE I/O INTERRUPT ROUTINE             05029000
       HRC011DK:          SPACE ,                                                        05030000
       HRC011DK: CDFORA   DC    D'0'           CARD FORMAT OR ALLOCATE / ALLOC TYPE      05031000
       HRC011DK: CDADD    DC    D'0'           CARD DEVICE ADDRESS / ALLOC START         05032000
       HRC011DK: CDTYPE   DC    D'0'           CARD DEVICE TYPE / ALLOC END              05033000
       HRC011DK: CDLABEL  DC    D'0'           CARD LABEL                                05034000
       HRC011DK: CDSTART  DC    XL8'00'        CARD START CYLINDER/PAGE                  05035000
       HRC011DK: CDENDCYL DC    XL8'00'        CARD END CYLINDER/PAGE                    05036000
       HRC011DK: CDWVERIF DC    XL8'00'        CARD WRITE VERIFICATION                   05037000
       HRC011DK: CDLAST   EQU   CDWVERIF       CARD LAST INPUT FIELD                     05038000
       HRC011DK: DATA     DC    D'0'           CARD INPUT DATA SAVE AREA                 05039000
       HRC011DK:          SPACE ,                                                        05040000
       HRC011DK: SAVE14   DC    F'0'           WMSG RETURN ADDRESS SAVER                 05041000
       HRC011DK: SAVE4    DC    F'0'           RMSG MESSAGE SAVER (RESPONSE?)            05042000
       HRC011DK: STAT     DC    H'0'           SAVE CSW STATUS DURING INTERRUPT          05043000
       HRC011DK: LOSW     DC    X'00'          LABEL ONLY FLAG                           05044000
       HRC011DK: CDSW     DC    X'00'          CARD SELECTION SWITCH                     05045000
       HRC011DK: CDSW2    DC    X'FF'          CARD INPUT SWITCH (X'FF'=YES)             05046000
       HRC011DK: ALLOSW   DC    X'00'          ALLOCATION ONLY INDICATOR                 05047000
       HRC011DK: ALLOERR  DC    X'00'          ALLOCATE ERROR INDICATOR                  05048000
       HRC011DK: LABIOERR DC    X'00'          LABEL I/O ERROR INDICATOR                 05049000
       HRC011DK: CCHHR    DC    CL5'X'         CCHHR DATA FOR MESSAGE                    05050000
       HRC011DK:          SPACE ,                                                        05051000
       HRC011DK: HIVALUE  DC    H'00'          HIGHEST CYLINDER ADDRESS                  05052000
       HRC011DK: HDVALUE  DC    H'0'           HIGHEST HEAD VALUE FOR DEVICE             05053000
       HRC011DK: BEGIN    DC    H'00'          CYLINDER START ADDRESS                    05054000
       HRC011DK: ENDING   DC    H'00'          CYLINDER ENDING ADDRESS                   05055000
       HRC011DK:          SPACE ,                                                        05056000
       HRC011DK: PGCOUNT  DC    F'0'           PAGE ERROR COUNT                          05057000
       HRC011DK: SAVEIT   DC    5F'0'          SAVE CSW, CAW, AND I/O OLD PSW            05058000
       HRC011DK: SAVFATAL DC    5F'0'          SAVE CSW, CAW, AND I/O OLD PSW            05059000
       HRC011DK: WORK     DC    17F'0'         WORK AREA FOR PACKS/UNPACKS               05060000
       HRC011DK:          DS    0F             FULLWORD ALIGNMENT                        05061000
       HRC011DK: SEEK0    DC    XL7'00'        STARTING BBCCHHR                          05062000
       HRC011DK:          SPACE ,                                                        05063000
       HRC011DK: PCREGS   DC    16F'0'         SAVE REGS DURING PROGRAM CHECK            05064000
       HRC011DK: SENSE    DC    XL32'00'       SENSE AREA                                05065000
       HRC011DK: ENCHAN   DC    X'03FF0000'    ENABLE DEVICES ON CHANNELS 6-15           05066000
       HRC011DK: SENSEB0  EQU   SENSE          SENSE BYTE 0                              05067000
       HRC011DK: SENSEB1  EQU   SENSE+1        SENSE BYTE 1                              05068000
       HRC011DK: SENSEB2  EQU   SENSE+2        SENSE BYTE 2                              05069000
       HRC011DK: ENVDATA  EQU   X'10'          ENVIRON. DATA PRESENT ON SENSE+2          05070000
       HRC011DK: SENSEB3  EQU   SENSE+3        SENSE BYTE 3                              05071000
       HRC011DK: SENSEB4  EQU   SENSE+4        SENSE BYTE 4 (DEVTYPE)                    05072000
       HRC011DK: SENSEB6  EQU   SENSE+6        SENSE BYTE 6                              05073000
       HRC011DK: FLTCDE   EQU   SENSE+22       SENSE BYTE 22 (FAULT CODE)                05074000
       HRC011DK: *---------------------------------------------------------------------- 05075000
       HRC011DK: *                                                                       05076000
       HRC011DK: *        STRTIO/STRTIO1 SUBROUTINE CCWS AND CONSTANTS                   05077000
       HRC011DK: *                                                                       05078000
       HRC011DK: *---------------------------------------------------------------------- 05079000
       HRC011DK:          SPACE ,                                                        05080000
       HRC011DK: *---------------------------------------------------------------------- 05081000
       HRC011DK: *        RESTART CCW CHAIN AFTER ERROR 2305,2314,3330,3340,3350,        05082000
       HRC011DK: *        3380 CHANNEL PROGRAM                                           05083000
       HRC011DK: *---------------------------------------------------------------------- 05084000
       HRC011DK:          SPACE ,                                                        05085000
       HRC011DK:          DS    0D                                                       05086000
       HRC011DK: RDRTRY   CCW   07,SEEKA,CC,6  PHONY SEEKA                               05087000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1                                    05088000
       HRC011DK: PICKUP   CCW   08,0,0,0                                                 05089000
       HRC011DK: SHIFTMSK DC    X'80',3X'00'                                             05090000
       HRC011DK:          SPACE ,                                                        05091000
       HRC011DK: *---------------------------------------------------------------------- 05092000
       HRC011DK: *        RECALIBRATE AND RESTART FORMATTING                             05093000
       HRC011DK: *---------------------------------------------------------------------- 05094000
       HRC011DK:          SPACE ,                                                        05095000
       HRC011DK:          SPACE ,                                                        05096000
       HRC011DK: CALIBRAT CCW   19,0,CC+SILI,1 RECALIBRATE                               05097000
       HRC011DK: CALTIC   CCW   08,FMT2314,0,0 TIC TO NORMAL CCWS                        05098000
       HRC011DK: *---------------------------------------------------------------------- 05099000
       HRC011DK: *                                                                       05100000
       HRC011DK: *        GENERAL AND MISCELLANEOUS CONSTANTS                            05101000
       HRC011DK: *                                                                       05102000
       HRC011DK: *---------------------------------------------------------------------- 05103000
       HRC011DK:          SPACE ,                                                        05104000
       HRC011DK: SAVEDCSW DC    2F'0'          ERROR RECOVERY CSW SAVE AREA              05105000
       HRC011DK: CONTINAD DC    F'0'           ADDR OF CODE WHERE ALT TRACK              05106000
       HRC011DK: *                             PROCESSING IS TO RESUME.                  05107000
       HRC011DK: ERCOUNT  DC    F'0'           ERROR RECOVERY ERROR COUNT                05108000
       HRC011DK: ERLIMIT  DC    F'9'           ERROR RECOVERY RETRY LIMIT                05109000
       HRC011DK: TOTCNT   DC    F'0'           TOTAL ACCUMULATED ERRORS ON SIO           05110000
       HRC011DK: TOTLIMIT DC    F'25'          MAXIMUM ALLOWED ON 1 CHAN PROG            05111000
       HRC011DK: SENSTA   DC    2F'0'          SENSE CSW STATUS                          05112000
       HRC011DK: NEWPSW   DC    X'00040000'    I/O NEW PSW FOR DASD INTERRUPTS           05113000
       HRC011DK:          DC    A(IOINT)                                                 05114000
       HRC011DK: RNSTUF   DS    24F            2314 RECORD FIELDS SAVE AREA              05115000
       HRC011DK: WKSEEK   DS    30F            SEEK FIELDS SAVE AREA                     05116000
       HRC011DK: STRTSAVE DS    13F            REG SAVE FOR STRTIO                       05117000
       HRC011DK: STRTSVIO DS    XL20           IO STATUS SAVE AREA FOR STRTIO            05118000
       HRC011DK: LSAVE    EQU   L'STRTSVIO     LENGTH OF SAVE AREA FOR MVC               05119000
       HRC011DK: STRTSVSN DS    XL32           SENSE INFORMATION SAVE AREA               05120000
       HRC011DK: SAVEVOL1 DC    24F'0'         OS LABEL SAVE AREA                        05121000
       HRC011DK: SAVEFMT4 DC    24F'0'         SAVE CONTENTS OF CP'S FMT4                05122000
       HRC011DK: ALTCCHH  DC    XL6'0'         CCHH OF NEXT AVAIL. ALT TRK               05123000
       HRC011DK: *                             PLUS COUNT OF NO. OF ALT. TRKS            05124000
       HRC011DK: EDPSENSE DS    XL32           SAVE AREA FOR SENSE WITH EDP              05125000
       HRC011DK: EDPERCNT DC    H'0'           EDP RETRY COUNT                           05126000
       HRC011DK: EDPLIMIT DC    H'255'         EDP RETRY LIMIT                           05127000
       HRC011DK:          SPACE ,                                                        05128000
       HRC011DK: CP370    DC    CL5'CP370'     CP370 IS VOLUME OWNER                     05129000
       HRC011DK:          SPACE ,                                                        05130000
       HRC011DK: REGSAV   DC    F'0'           SAVE CALLER'S RETURN ADDRESS              05131000
       HRC011DK: ZERO     DC    XL8'00'        CCW ZERO DATA AREA                        05132000
       HRC011DK: ATYPE    DC    X'00'          ALLOCATION TYPE                           05133000
       HRC011DK: RECVALUE DC    X'00'          HIGHEST RECORD NUMBER                     05134000
       HRC011DK: FLAG1    DC    X'00'          WRITE ALLOCATION TO DISK FLAG             05135000
       HRC011DK: ALLOCWR  EQU   X'01'          WRITE ALLOCATION TO DISK BIT              05136000
       HRC011DK: COMWOK   DC    XL9'00'        INPUT DATA WORK AREA                      05137000
       HRC011DK:          DS    0D                                                       05138000
       HRC011DK: IPLDEV   DC    X'0000'        IPL DEVICE ADDRESS                        05139000
       HRC011DK: ADFOTYPE DS    A              ADDRESS OF ENTRY IN DEVICE/FORMAT         05140000
       HRC011DK: *                             TABLE                                     05141000
       HRC011DK: *---------------------------------------------------------------------- 05142000
       HRC011DK: *                                                                       05143000
       HRC011DK: *        ALTERNATE TRACK PROCESSING CONSTANTS AND CCWS                  05144000
       HRC011DK: *                                                                       05145000
       HRC011DK: *---------------------------------------------------------------------- 05146000
       HRC011DK:          SPACE ,                                                        05147000
       HRC011DK: ALTSEEK  CCW   07,ALTSKADD,CC+SILI,6  RESTART SEEK ALTERNATE            05148000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1                                    05149000
       HRC011DK: ALTTIC   CCW   08,*-*,0,0                                               05150000
       HRC011DK: ALTSKADD DC    XL6'0'         SEEK ADDRESS NEXT TRACK                   05151000
       HRC011DK:          SPACE ,                                                        05152000
       HRC011DK: ALTFLAG  DC    AL1(0)         FLAG FOR 3340/3344 ALT TRACK              05153000
       HRC011DK:          SPACE ,                                                        05154000
       HRC011DK: HAR0READ EQU   128            HA/R0 READ IN PROGRESS                    05155000
       HRC011DK:          SPACE ,                                                        05156000
       HRC011DK:          SPACE ,                                                        05157000
       HRC011DK: READHAR0 CCW   X'07',HAR0SKAD,CC+SILI,6 SEEK                            05158000
       HRC011DK:          CCW   X'1A',HADATA,CC+SILI,5 READ HA                           05159000
       HRC011DK:          CCW   X'16',R0DATA,SILI,4 READ R0                              05160000
       HRC011DK: HAR0SKAD DC    XL6'0'         00CCHH SEEK ADDRESS                       05161000
       HRC011DK: HADATA   DS    XL5            FLAG BYTE + CCHH READ FROM HA.            05162000
       HRC011DK: HAFLAGSV DS    XL1            FLAG BYTE FROM 1ST OF 2 READS             05163000
       HRC011DK: *                             SAVED HERE.                               05164000
       HRC011DK: CCHHSV   DS    XL4            CURRENT TRACK ADDRESS SAVE AREA           05165000
       HRC011DK: R0DATA   DS    XL4            CCHH DATA FROM COUNT FLD OF R0.           05166000
       HRC011DK: ALTCHKSV DS    6F             REGISTER SAVE AREA.                       05167000
       HRC011DK: *---------------------------------------------------------------------- 05168000
       HRC011DK: *        WRITE MESSAGE TO THE CONSOLE                                   05169000
       HRC011DK: *---------------------------------------------------------------------- 05170000
       HRC011DK:          SPACE ,                                                        05171000
       HRC011DK:          DS    0D             ALIGNMENT                                 05172000
       HRC011DK: WCCW     CCW   1,TITLE,CC+SILI,1 CCW FOR WRITING TO CONSOLE             05173000
       HRC011DK:          CCW   3,0,SILI,1        NOP TO ASSURE COMPLETION               05174000
       HRC011DK:          SPACE ,                                                        05175000
       HRC011DK: *---------------------------------------------------------------------- 05176000
       HRC011DK: *        READ RESPONSE FROM THE CONSOLE                                 05177000
       HRC011DK: *---------------------------------------------------------------------- 05178000
       HRC011DK:          SPACE ,                                                        05179000
       HRC011DK: RCCW     CCW   10,INDATA,CC+SILI,80 CONSOLE READ CCW                    05180000
       HRC011DK:          CCW   3,0,SILI,1     NOOP                                      05181000
       HRC011DK:          SPACE ,                                                        05182000
       HRC011DK: *---------------------------------------------------------------------- 05183000
       HRC011DK: *        READ INPUT FROM CARDS                                          05184000
       HRC011DK: *---------------------------------------------------------------------- 05185000
       HRC011DK:          SPACE ,                                                        05186000
       HRC011DK: CARDCCW  CCW   02,CDINPUT,CC+SILI,80  START IPL DEVICE AND USE          05187000
       HRC011DK:          CCW   03,0,SILI,1    FOR INPUT (CARDS)                         05188000
       HRC011DK:          SPACE ,                                                        05189000
       HRC011DK: *---------------------------------------------------------------------- 05190000
       HRC011DK: *        ISSUE 04 SENSE CCW                                             05191000
       HRC011DK: *---------------------------------------------------------------------- 05192000
       HRC011DK:          SPACE ,                                                        05193000
       HRC011DK: CCWSENSE CCW   4,SENSE,SILI,L'SENSE  SENSE CCW                          05194000
       HRC011DK: *---------------------------------------------------------------------- 05195000
       HRC011DK: *                                                                       05196000
       HRC011DK: *        GRAPHIC SUPPORT CCWS AND CONSTANTS                             05197000
       HRC011DK: *                                                                       05198000
       HRC011DK: *---------------------------------------------------------------------- 05199000
       HRC011DK:          SPACE ,                                                        05200000
       HRC011DK: CRTWORD  CCW   X'27',SBACP,SILI+CC,2   SET BAR TO (STATUS WORD)         05201000
       HRC011DK:          CCW   X'01',CPXYSTAT,SILI+CC,20 WRITE 'RUNNING' ON             05202000
       HRC011DK: *                                      SCREEN                           05203000
       HRC011DK:          CCW   X'27',SBAREAD,SILI+CC,2 SET BUFFER ADDR FOR              05204000
       HRC011DK: *                                      WRITE                            05205000
       HRC011DK:          CCW   X'01',BLNKZERO,SILI+CC,140 CLEAR INPUT AREA              05206000
       HRC011DK: CURS3066 CCW   X'0F',SBAREAD,SILI+CC,2 REPOSITION CURSOR                05207000
       HRC011DK:          CCW   X'03',*-*,SILI,3        END OF READ CCW STRING           05208000
       HRC011DK:          SPACE ,                                                        05209000
       HRC011DK: CRTWORD1 CCW   X'01',LAB3270A,SILI+CC,LEN THE CONTROL DATA              05210000
       HRC011DK:          CCW   X'03',*-*,SILI,2        NO-OPERATION                     05211000
       HRC011DK:          SPACE ,                                                        05212000
       HRC011DK: REQREAD  CCW   X'27',SBACP,SILI+CC,2   SET BUFF ADDR TO CP X-Y          05213000
       HRC011DK:          CCW   X'01',CPXYSTAT,SILI+CC,20 WRITE SCREEN STATUS            05214000
       HRC011DK:          CCW   X'08',CURS3066,SILI,1   RESET CURSOR POSITION            05215000
       HRC011DK:          SPACE ,                                                        05216000
       HRC011DK: REQREAD1 CCW   X'01',LAB3270B,SILI+CC,LEN1 THE CONTROL DATA             05217000
       HRC011DK:          CCW   X'03',*-*,SILI,2        NO-OPERATION                     05218000
       HRC011DK:          SPACE ,                                                        05219000
       HRC011DK: ERSE3066 CCW   X'07',*-*,SILI+CC,1     ERASE ENTIRE SCREEN              05220000
       HRC011DK: WRTCRTXY CCW   X'27',SBADDR,SILI+CC,2  SET CORRECT LINE IN              05221000
       HRC011DK: *                                      BUFFER                           05222000
       HRC011DK: WRT3066  CCW   X'01',*-*,SILI+CC,140   WRITE OUT USER DATA              05223000
       HRC011DK:          CCW   X'08',CRTWORD,SILI,1    NOW DISPLAY STATUS               05224000
       HRC011DK:          SPACE ,                                                        05225000
       HRC011DK: ERSE3270 CCW   X'05',LAB3270E,SILI+CD,LEN3 ERASE THE SCREEN             05226000
       HRC011DK:          CCW   X'00',CPXYSTAT,SILI+CC,20 WRITE SCREEN STATUS            05227000
       HRC011DK: WRTCRT70 CCW   X'01',LAB3270,SILI+CD,4 THE CONTROL DATA                 05228000
       HRC011DK: WRTCR70  CCW   X'00',*-*,SILI+CD,0     WRITE CCW                        05229000
       HRC011DK:          CCW   X'00',LAB3270A+1,SILI+CC,LEN-1 WRITE SCREEN              05230000
       HRC011DK: *                                      STATUS                           05231000
       HRC011DK:          CCW   X'03',*-*,SILI,2        NO-OPERATION                     05232000
       HRC011DK:          SPACE ,                                                        05233000
       HRC011DK: RDMI3066 CCW   X'0E',RDMIDATA,SILI+CC,3 READ CCW FOR MI COMMAND         05234000
       HRC011DK: RD3066   CCW   X'27',SBAREAD,SILI+CC,2 SET BUFFER ADDR FOR READ         05235000
       HRC011DK: RD3066DA CCW   X'06',*-*,SILI+CC,140   READ INPUT DATA                  05236000
       HRC011DK:          CCW   X'08',CURS3066,SILI,1   REPOSITION CURSOR                05237000
       HRC011DK:          SPACE ,                                                        05238000
       HRC011DK: RDMI3270 CCW   X'01',LAB3270D,SILI+CC,4 WRITE SPECIAL CKD               05239000
       HRC011DK: RD3270DA CCW   X'06',*-*,SILI+CC,0     CCW FOR READ                     05240000
       HRC011DK:          CCW   X'03',*-*,SILI,2        NO-OPERATION                     05241000
       HRC011DK:          SPACE ,                                                        05242000
       HRC011DK: CNCL3270 CCW   X'01',LAB3270E,SILI+CD,LEN3 THE CONTROL DATA             05243000
       HRC011DK:          CCW   X'00',CPXYSTAT,SILI+CC,20 WRITE SCREEN STATUS            05244000
       HRC011DK:          CCW   X'03',*-*,SILI,2        NO-OPERATION                     05245000
       HRC011DK:          SPACE ,                                                        05246000
       HRC011DK: CNCL3066 CCW   X'07',*-*,SILI+CC,1     ERASE THE SCREEN                 05247000
       HRC011DK:          CCW   X'08',CRTWORD,SILI,1    NOW DISPLAY STATUS               05248000
       HRC011DK:          SPACE ,                                                        05249000
       HRC011DK: MORECCW1 CCW   X'01',LAB3270C,SILI+CC,LEN2 THE CONTROL DATA             05250000
       HRC011DK:          CCW   X'03',*-*,SILI,2        NO-OPERATION                     05251000
       HRC011DK:          SPACE ,                                                        05252000
       HRC011DK: *---------------------------------------------------------------------- 05253000
       HRC011DK: *        FIRST DC ARE ADDRESSES FOR LINES 1 -6                          05254000
       HRC011DK: *        SECOND DC ARE ADDRESSES FOR LINES 7 - 12                       05255000
       HRC011DK: *        THIRD DC ARE ADDRESSES FOR LINES 13 - 18                       05256000
       HRC011DK: *        FOURTH DC ARE ADDRESSES FOR LINES 19 - 24                      05257000
       HRC011DK: *---------------------------------------------------------------------- 05258000
       HRC011DK:          SPACE ,                                                        05259000
       HRC011DK: TABLE70  DS    0D                                                       05260000
       HRC011DK:          DC    X'4040C150C260C3F0C540C650'                              05261000
       HRC011DK:          DC    X'C760C8F04A404B504C604DF0'                              05262000
       HRC011DK:          DC    X'4F405050D160D2F0D440D550'                              05263000
       HRC011DK:          DC    X'D660D7F0D9405A505B605CF0'                              05264000
       HRC011DK:          SPACE ,                                                        05265000
       HRC011DK: TABLGRAP EQU   *                                                        05266000
       HRC011DK:          DC    X'0A',AL3(READ66) ADDRESS OF THE READ SECTION            05267000
       HRC011DK:          DC    X'01',AL3(WRT66) ADDRESS OF THE WRITE SECTION            05268000
       HRC011DK:          DC    X'09',AL3(WRT66) ADDRESS OF THE WRITE SECTION            05269000
       HRC011DK:          DC    X'05',AL3(WRT66) ADDRESS OF THE WRITE SECTION            05270000
       HRC011DK:          DC    X'03',AL3(RETWORD) ADDRESS OF THE RETURN SECTION         05271000
       HRC011DK:          SPACE ,                                                        05272000
       HRC011DK: *        X'5B60' - LINE 23, COL. 1                                      05273000
       HRC011DK: *        X'5D6A' - LINE 24, COL. 59                                     05274000
       HRC011DK: WC6      EQU   X'C2'          WRITE CONTROL BIT 6                       05275000
       HRC011DK: AT7      EQU   X'C1'          ATTRIBUTE BIT 7                           05276000
       HRC011DK: AT2      EQU   X'E0'          ATTRIBUTE BIT 2                           05277000
       HRC011DK: LAC      EQU   X'C0'                                                    05278000
       HRC011DK: SF       EQU   X'1D'          START OF FIELD CONTROL                    05279000
       HRC011DK: SBA      EQU   X'11'          SET BUFFER ADDRESS                        05280000
       HRC011DK: IC       EQU   X'13'          INSERT CURSOR                             05281000
       HRC011DK: EUA      EQU   X'12'          ERASE UNPROTECTED                         05282000
       HRC011DK: RA       EQU   X'3C'          REPEAT TO ADDRESS                         05283000
       HRC011DK:          SPACE ,                                                        05284000
       HRC011DK: LAB3270A DC    AL1(WC6),AL1(SBA),X'5B60',AL1(SF),AL1(AT7)               05285000
       HRC011DK:          DC    AL1(IC),AL1(EUA),X'5D6B',AL1(SF),AL1(AT2)                05286000
       HRC011DK: RUNLABEL DC    CL20'RUNNING'                                            05287000
       HRC011DK: LEN      EQU   *-LAB3270A                                               05288000
       HRC011DK: LAB3270B DC    AL1(WC6),AL1(SBA),X'5B60',AL1(SF),AL1(AT7)               05289000
       HRC011DK:          DC    AL1(IC),AL1(SBA),X'5D6B',AL1(SF),AL1(AT2)                05290000
       HRC011DK: REALABEL DC    CL20'CP READ'                                            05291000
       HRC011DK: LEN1     EQU   *-LAB3270B                                               05292000
       HRC011DK: LAB3270C DC    AL1(WC6),AL1(SBA),X'5D6B',AL1(SF),AL1(AT2)               05293000
       HRC011DK: MORLABEL DC    CL20'HOLDING'                                            05294000
       HRC011DK: LEN2     EQU   *-LAB3270C                                               05295000
       HRC011DK: LAB3270D DC    AL1(LAC),AL1(SBA),X'5B60'                                05296000
       HRC011DK: LAB3270  DC    AL1(WC6),AL1(SBA),X'0000'                                05297000
       HRC011DK: LAB3270E DC    AL1(WC6),AL1(SBA),X'4040',AL1(RA),X'5B60',X'00'          05298000
       HRC011DK:          DC    AL1(SF),AL1(AT7),AL1(IC),AL1(SBA)                        05299000
       HRC011DK:          DC    X'5D6B',AL1(SF),AL1(AT2)                                 05300000
       HRC011DK: LEN3     EQU   *-LAB3270E                                               05301000
       HRC011DK: PARM     DC    X'00'          THE GRAPHIC FLAG BYTE                     05302000
       HRC011DK: PARMATT  EQU   X'80'          ATTENTION REQUEST                         05303000
       HRC011DK: PARMGRP  EQU   X'40'          GRAPHIC SUPPORT                           05304000
       HRC011DK: PARMREA  EQU   X'20'          READ REQUEST                              05305000
       HRC011DK: PARMCLE  EQU   X'10'          CLEAR/ERASE REQUEST                       05306000
       HRC011DK: PARM327  EQU   X'08'          3270 GRAPHIC                              05307000
       HRC011DK: PARMNDA  EQU   X'04'          NO DATA INDICATED                         05308000
       HRC011DK: PARM01F  EQU   X'02'          01F REQUESTED                             05309000
       HRC011DK: PARM321  EQU   X'01'          3215/3210/1052                            05310000
       HRC011DK: PARM2    DC    X'00'          SIO SWITCHES                              05311000
       HRC011DK: SIONOP   EQU   X'80'          DEVICE NOT OPERATIONAL                    05312000
       HRC011DK: SBADDR   DC    AL1(00,00)     CURRENT OUTPUT LINE COORDINATES           05313000
       HRC011DK: *                             FOR THE 3066                              05314000
       HRC011DK: SBACP    DC    AL1(34,60)     COORDINATES FOR SCREEN 'STATUS'           05315000
       HRC011DK: *                             WORD                                      05316000
       HRC011DK: SBAREAD  DC    AL1(33,00)     COORDINATES FOR CURSOR POSITION           05317000
       HRC011DK: RDMIDATA DC    XL6'00'        READ DATA FROM 'MI' COMMAND               05318000
       HRC011DK: CPXYSTAT DC    CL20' '        SCREEN 'STATUS' WORD                      05319000
       HRC011DK: BLNKLINE DC    XL140'00'      CLEAR INPUT AREA FOR DATA                 05320000
       HRC011DK: BLNKZERO DC    CL140' '       BLANKS FOR READ AREA                      05321000
       HRC011DK: GRAPHSAV DC    8F'00'         SAVE AREA FOR GRAPHIC SUPPORT             05322000
       HRC011DK: SAVEAREA DC    2F'00'         SAVE AREA FOR GRAPHIC DATA                05323000
       HRC011DK: *                             REGISTERS                                 05324000
       HRC011DK: *---------------------------------------------------------------------- 05325000
       HRC011DK: *        CKD CCWS FOR READING AND WRITING LABELS.                       05326000
       HRC011DK: *---------------------------------------------------------------------- 05327000
       HRC011DK:          SPACE ,                                                        05328000
       HRC011DK:          DS    0D                                                       05329000
       HRC011DK: LBLREC   CCW   7,SEEKA,CC,6                                             05330000
       HRC011DK:          CCW   31,FILEMASK,CC,1                                         05331000
       HRC011DK:          CCW   49,R3VOL1,CC+SILI,5     FIND REC 3 VOL1 LABEL RECORD     05332000
       HRC011DK:          CCW   8,*-8,0,0                                                05333000
       HRC011DK:          CCW   6,OSLABEL,SILI+CC,80    READ LABELS                      05334000
       HRC011DK:          CCW   49,R4ALLOC,CC+SILI,5    SEARCH ID EQUAL                  05335000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              05336000
       HRC011DK:          CCW   06,TABLE,SILI,DL4096    READ ALLOCATION TABLE            05337000
       HRC011DK:          SPACE ,                                                        05338000
       HRC011DK: LABWRITE CCW   7,SEEKA,CC,6            SEEK                             05339000
       HRC011DK:          CCW   31,FILEMASK,CC,1        SET FILE MASK                    05340000
       HRC011DK:          CCW   49,R3VOL1,CC+SILI,5     FIND VOL1 LABEL RECORD           05341000
       HRC011DK:          CCW   8,*-8,0,0               TIC                              05342000
       HRC011DK:          CCW   5,OSLABEL,SILI,80       WRITE LABEL                      05343000
       HRC011DK: *---------------------------------------------------------------------- 05344000
       HRC011DK: *        ALLOCATION CONSTANTS, EQUATES, AND WORK AREAS                  05345000
       HRC011DK: *---------------------------------------------------------------------- 05346000
       HRC011DK: REG8SAVE DS    F                       SAVE AREA HOLDS R8      @V6292B1 05347000
       HRC011DK:          SPACE ,                                                        05348000
       HRC011DK: TWDIND   DC    X'0004080C1014181C' INDICES INTO TYPWDS FOR              05349000
       HRC011DK: *                             EACH TYPE OF SPACE                        05350000
       HRC011DK: TYPWDS   DC    C'TEMP'        THE ONE BYTE TYPE FIELD IN THE            05351000
       HRC011DK:          DC    C'PERM'        EXTENT MAP IS CONVERTED TO A              05352000
       HRC011DK:          DC    C'TDSK'        VALUE FROM TWDIND - THIS IS               05353000
       HRC011DK:          DC    C'BAD '        USED TO INDEX TYPWDS.                     05354000
       HRC011DK:          DC    C'DRCT'        TOKEN FOR DIRECTORY EXTENTS               05355000
       HRC011DK:          DC    C'PAGE'        TOKEN FOR PAGE TYPE EXTENTS               05356000
       HRC011DK:          DC    C'DUMP'        DUMP TYPE EXTENT                          05357000
       HRC011DK:          DC    C'OVRD'        OVERRIDE TYPE EXTENT                      05358000
       HRC011DK:          SPACE ,                                                        05359000
       HRC011DK: TRWORK   DS    C              WORK AREA                                 05360000
       HRC011DK: TRTZEROS DC    X'00010203040506070809' TRANSLATE TABLE STOPS            05361000
       HRC011DK: *                             ON X'F0', CONTINUES FOR OTHERS            05362000
       HRC011DK:          SPACE ,                                                        05363000
       HRC011DK: DRCTFREE EQU   X'04'          DRCT TYPE EXTENT                          05364000
       HRC011DK: DRCTDIR  EQU   X'0C'          DRCT EXTENT IN USE BY DMKDIR              05365000
       HRC011DK: DRCTINV  EQU   X'F3'          INVALID DRCT CYLINDER MASK                05366000
       HRC011DK: *---------------------------------------------------------------------- 05367000
       HRC011DK: *        NORMAL DATA RECORDS (3330/2305 DEFAULT)                        05368000
       HRC011DK: *---------------------------------------------------------------------- 05369000
       HRC011DK:          SPACE ,                                                        05370000
       HRC011DK:          SPACE ,                                                        05371000
       HRC011DK: REC1     DC    F'0'                    CCHH                             05372000
       HRC011DK:          DC    AL1(1),AL3(4096)        REC NUMBER KL DL DL              05373000
       HRC011DK: NXTREC   EQU   *-REC1                                                   05374000
       HRC011DK: RECX1    DC    F'0'                    CCHH                             05375000
       HRC011DK:          DC    AL1(128+01),AL3(50)     REC NUMBER KL DL DL              05376000
       HRC011DK: REC2     DC    F'0'                    CCHH                             05377000
       HRC011DK:          DC    AL1(2),AL3(4096)        REC NUMBER KL DL DL              05378000
       HRC011DK: RECX2    DC    F'0'                    CCHH                             05379000
       HRC011DK:          DC    AL1(128+02),AL3(50)     REC NUMBER KL DL DL              05380000
       HRC011DK: REC3     DC    F'0'                    CCHH                             05381000
       HRC011DK:          DC    AL1(3),AL3(4096)        REC NUMBER KL DL DL              05382000
       HRC011DK: RECX3    DC    F'0'                    CCHH                             05383000
       HRC011DK:          DC    AL1(128+03),AL3(50)     REC NUMBER KL DL DL              05384000
       HRC011DK: REC4     DC    F'1'                    CCHH                             05385000
       HRC011DK:          DC    AL1(4),AL3(4096)        REC NUMBER KL DL DL              05386000
       HRC011DK: RECX4    DC    F'1'                    CCHH                             05387000
       HRC011DK:          DC    AL1(128+04),AL3(50)     REC NUMBER KL DL DL              05388000
       HRC011DK: REC5     DC    F'1'                    CCHH                             05389000
       HRC011DK:          DC    AL1(5),AL3(4096)        REC NUMBER KL DL DL              05390000
       HRC011DK: RECX5    DC    F'1'                    CCHH                             05391000
       HRC011DK:          DC    AL1(128+05),AL3(50)     REC NUMBER KL DL DL              05392000
       HRC011DK: REC6     DC    F'1'                    CCHH                             05393000
       HRC011DK:          DC    AL1(6),AL3(4096)        REC NUMBER KL DL DL              05394000
       HRC011DK: RECX6    DC    F'1'                    CCHH                             05395000
       HRC011DK:          DC    AL1(128+06),AL3(50)     REC NUMBER KL DL DL              05396000
       HRC011DK: REC7     DC    F'2'                    CCHH                             05397000
       HRC011DK:          DC    AL1(7),AL3(4096)        REC NUMBER KL DL DL              05398000
       HRC011DK: RECX7    DC    F'2'                    CCHH                             05399000
       HRC011DK:          DC    AL1(128+07),AL3(50)     REC NUMBER KL DL DL              05400000
       HRC011DK: REC8     DC    F'2'                    CCHH                             05401000
       HRC011DK:          DC    AL1(8),AL3(4096)        REC NUMBER KL DL DL              05402000
       HRC011DK: RECX8    DC    F'2'                    CCHH                             05403000
       HRC011DK:          DC    AL1(128+08),AL3(50)     REC NUMBER KL DL DL              05404000
       HRC011DK: REC9     DC    F'2'                    CCHH                             05405000
       HRC011DK:          DC    AL1(9),AL3(4096)        REC NUMBER KL DL DL              05406000
       HRC011DK: RECX9    DC    F'2'                    CCHH                             05407000
       HRC011DK:          DC    AL1(128+09),AL3(50)     REC NUMBER KL DL DL              05408000
       HRC011DK: REC10    DC    F'3'                    CCHH                             05409000
       HRC011DK:          DC    AL1(10),AL3(4096)       REC NUMBER KL DL DL              05410000
       HRC011DK: RECX10   DC    F'3'                    CCHH                             05411000
       HRC011DK:          DC    AL1(128+10),AL3(50)     REC NUMBER KL DL DL              05412000
       HRC011DK: REC11    DC    F'3'                    CCHH                             05413000
       HRC011DK:          DC    AL1(11),AL3(4096)       REC NUMBER KL DL DL              05414000
       HRC011DK: RECX11   DC    F'3'                    CCHH                             05415000
       HRC011DK:          DC    AL1(128+11),AL3(50)     REC NUMBER KL DL DL              05416000
       HRC011DK: REC12    DC    F'3'                    CCHH                             05417000
       HRC011DK:          DC    AL1(12),AL3(4096)       REC NUMBER KL DL DL              05418000
       HRC011DK:          SPACE ,                                                        05419000
       HRC011DK: RNBYTE1  EQU   *-REC1         NUMBER OF BYTES TO APP MIDDLE             05420000
       HRC011DK: RNMDLE   EQU   *              APP. MIDDLE OF RECORDS                    05421000
       HRC011DK: REC13    DC    F'1'           CCHH                                      05422000
       HRC011DK:          DC    AL1(13),AL3(4096) REC NUMBER KL DL DL                    05423000
       HRC011DK: REC14    DC    F'1'           CCHH                                      05424000
       HRC011DK:          DC    AL1(14),AL3(4096) REC NUMBER KL DL DL                    05425000
       HRC011DK: REC15    DC    F'1'           CCHH                                      05426000
       HRC011DK:          DC    AL1(15),AL3(4096) REC NUMBER KL DL DL                    05427000
       HRC011DK: REC16    DC    F'1'           CCHH                                      05428000
       HRC011DK:          DC    AL1(16),AL3(4096) REC NUMBER KL DL DL                    05429000
       HRC011DK: REC17    DC    F'1'           CCHH                                      05430000
       HRC011DK:          DC    AL1(17),AL3(4096) REC NUMBER KL DL DL                    05431000
       HRC011DK: REC18    DC    F'1'           CCHH                                      05432000
       HRC011DK:          DC    AL1(18),AL3(4096) REC NUMBER KL DL DL                    05433000
       HRC011DK: REC19    DC    F'1'           CCHH                                      05434000
       HRC011DK:          DC    AL1(19),AL3(4096) REC NUMBER KL DL DL                    05435000
       HRC011DK: REC20    DC    F'1'           CCHH                                      05436000
       HRC011DK:          DC    AL1(20),AL3(4096) REC NUMBER KL DL DL                    05437000
       HRC011DK: REC21    DC    F'2'           CCHH SECOND PART OF RECORD 21             05438000
       HRC011DK:          DC    AL1(21),AL3(4096) REC NUMBER KL DL DL                    05439000
       HRC011DK: REC22    DC    F'2'           CCHH                                      05440000
       HRC011DK:          DC    AL1(22),AL3(4096) REC NUMBER KL DL DL                    05441000
       HRC011DK: REC23    DC    F'2'           CCHH                                      05442000
       HRC011DK:          DC    AL1(23),AL3(4096) REC NUMBER KL DL DL                    05443000
       HRC011DK: REC24    DC    F'2'           CCHH                                      05444000
       HRC011DK:          DC    AL1(24),AL3(4096) REC NUMBER KL DL DL                    05445000
       HRC011DK: REC25    DC    F'2'           CCHH                                      05446000
       HRC011DK:          DC    AL1(25),AL3(4096) REC NUMBER KL DL DL                    05447000
       HRC011DK: REC26    DC    F'2'           CCHH                                      05448000
       HRC011DK:          DC    AL1(26),AL3(4096) REC NUMBER KL DL DL                    05449000
       HRC011DK: REC27    DC    F'2'           CCHH                                      05450000
       HRC011DK:          DC    AL1(27),AL3(4096) REC NUMBER KL DL DL                    05451000
       HRC011DK: REC28    DC    F'2'           CCHH                                      05452000
       HRC011DK:          DC    AL1(28),AL3(4096) REC NUMBER KL DL DL                    05453000
       HRC011DK: REC29    DC    F'2'           CCHH                                      05454000
       HRC011DK:          DC    AL1(29),AL3(4096) REC NUMBER KL DL DL                    05455000
       HRC011DK: REC30    DC    F'2'           CCHH                                      05456000
       HRC011DK:          DC    AL1(30),AL3(4096) REC NUMBER KL DL DL                    05457000
       HRC011DK:          SPACE ,                                                        05458000
       HRC011DK: RECEND   EQU   *                                                        05459000
       HRC011DK:          SPACE ,                                                        05460000
       HRC011DK: RNBYTE2  EQU   RECEND-RNMDLE  NUMBER OF BYTES OF COUNT FIELDS           05461000
       HRC011DK: RNBYTES  EQU   RECEND-REC1    TOTAL NUMBER OF BYTES IN FIELD            05462000
       HRC011DK: RNWRDS   EQU   RNBYTES/4      NUMBER OF WORDS IN COUNT FIELDS           05463000
       HRC011DK:          SPACE ,                                                        05464000
       HRC011DK: RNDATA   DC    (RNWRDS)F'0'   SAVE AREA FOR COUNT RECORDS               05465000
       HRC011DK: RECXX3   DC    F'0'                CCHH                                 05466000
       HRC011DK:          DC    AL1(192+01),AL3(412) REC NUMBER KL DL DL                 05467000
       HRC011DK: RECXX6   DC    F'0'                CCHH                                 05468000
       HRC011DK:          DC    AL1(192+02),AL3(412) REC NUMBER KL DL DL                 05469000
       HRC011DK: RECXX13  DC    F'1'                CCHH                                 05470000
       HRC011DK:          DC    AL1(192+03),AL3(412) REC NUMBER KL DL DL                 05471000
       HRC011DK: RECXX16  DC    F'1'                CCHH                                 05472000
       HRC011DK:          DC    AL1(192+04),AL3(412) REC NUMBER KL DL DL                 05473000
       HRC011DK: RECXX23  DC    F'2'                CCHH                                 05474000
       HRC011DK:          DC    AL1(192+05),AL3(412) REC NUMBER KL DL DL                 05475000
       HRC011DK: RECXX26  DC    F'2'                CCHH                                 05476000
       HRC011DK:          DC    AL1(192+06),AL3(412) REC NUMBER KL DL DL                 05477000
       HRC011DK: RECEND1  EQU   *                                                        05478000
       HRC011DK: RNBYTES1 EQU   RECEND1-RECXX3 TOTAL NUMBER OF BYTES IN FIELD            05479000
       HRC011DK: RNWRDS1  EQU   RNBYTES1/4     NUMBER OF WORDS IN COUNT FIELDS           05480000
       HRC011DK: RNRECS1  EQU   RNWRDS1/2      NUMBER OF RECORDS                         05481000
       HRC011DK: RNDATA1  DC    (RNWRDS1)F'0'  SAVE AREA FOR COUNT RECORDS               05482000
       HRC011DK:          SPACE ,                                                        05483000
       HRC011DK: *---------------------------------------------------------------------- 05484000
       HRC011DK: *        WRITE VERIFICATION FLAGS & ASSOCIATED CCW                      05485000
       HRC011DK: *---------------------------------------------------------------------- 05486000
       HRC011DK:          SPACE ,                                                        05487000
       HRC011DK: CCWCHNG  DS    A              ADDRESS OF AFFECTED CCW IN                05488000
       HRC011DK: *                             CHAINING SEQUENCE FOR WRT VERIF.          05489000
       HRC011DK: WVFLAGS  DC    X'00'          WRITE VERIFICATION FLAGS                  05490000
       HRC011DK: WVPMT    EQU   X'80'          PROMPT FOR WRITE VERIFICATION             05491000
       HRC011DK: WVREQ    EQU   X'40'          WRITE VERIFICATION REQUESTED              05492000
       HRC011DK: WVNOTOPT EQU   X'00'          WRITE VERIFICATION IS NOT                 05493000
       HRC011DK: *                             OPTIONAL AND WILL ALWAYS BE PERFORMED     05494000
       HRC011DK: *---------------------------------------------------------------------- 05495000
       HRC011DK: *        WITH A SET SECTOR ARGUMENT OF ZERO, RECONNECTION IS            05496000
       HRC011DK: *        ATTEMPTED JUST BEFORE INDEX, AND THE TRACK IS ORIENTED         05497000
       HRC011DK: *        TO INDEX.                                                      05498000
       HRC011DK: *---------------------------------------------------------------------- 05499000
       HRC011DK:          SPACE ,                                                        05500000
       HRC011DK: R0SEC    DC    XL8'00'                  ZERO DATA ADDRESS               05501000
       HRC011DK:          SPACE ,                                                        05502000
       HRC011DK: *---------------------------------------------------------------------- 05503000
       HRC011DK: *        SECTOR VALUES FOR DIFFERENT DASD TYPES:                        05504000
       HRC011DK: *                                                                       05505000
       HRC011DK: *        2305 MODEL 1   ---   2,32,62                                   05506000
       HRC011DK: *        2305 MODEL 2   ---   3,57,111                                  05507000
       HRC011DK: *        3330           ---   2,44,86                                   05508000
       HRC011DK: *        3340           ---   2,32                                      05509000
       HRC011DK: *        3350           ---   2,33,63,94                                05510000
       HRC011DK: *        3380           ---   5,26,46,71,92,112,137,157,178,199         05511000
       HRC011DK: *                                                                       05512000
       HRC011DK: *        USING A SET SECTOR TO 0 INSTEAD OF SECTOR VALUES BELOW         05513000
       HRC011DK: *        GUARANTEES THAT RECORD 0 WILL BE WRITTEN.  IF SOMETHING ELSE   05514000
       HRC011DK: *        IS USED, IT MAY NOT ALLOW TIME TO PROCESS AN INDEX, WHICH      05515000
       HRC011DK: *        IS REQUIRED FOR A WRITE RECORD 0.  IF THERE WAS NOT SUFFICIENT 05516000
       HRC011DK: *        TIME TO PROCESS AN INDEX, A FULL ROTATION OF THE DISK WOULD BE 05517000
       HRC011DK: *        REQUIRED.  THE VALUES IN THE TABLE ABOVE ARE INFORMATIONAL.    05518000
       HRC011DK: *                                                                       05519000
       HRC011DK: *---------------------------------------------------------------------- 05520000
       HRC011DK: SAVLOCR  DC    F'0'           SAVE ADDRESS OF LOCATE RECORD CCW@V6AFDD9 05521000
       HRC011DK: IMPREND  EQU   X'04'          IMPRECISE ENDING CONDITION       @V6AFDD9 05522000
       HRC011DK: *---------------------------------------------------------------------- 05523000
       HRC011DK: *        CKD CCW PROGRAM TO WRITE ALLOCATION TABLE                      05524000
       HRC011DK: *---------------------------------------------------------------------- 05525000
       HRC011DK:          SPACE ,                                                        05526000
       HRC011DK:          SPACE ,                                                        05527000
       HRC011DK: ALLOREC  CCW   07,R4SEEK,CC+SILI,6     SEEK TO WRITE ALLOC              05528000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    05529000
       HRC011DK:          CCW   49,R4ALLOC,CC+SILI,5    SEARCH ID EQ                     05530000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK TO SEARCH               05531000
       HRC011DK:          CCW   05,TABLE,CC+SILI,DL4096  WRITE DATA                      05532000
       HRC011DK:          CCW   49,R4ALLOC,CC+SILI,5    SEARCH ID EQ                     05533000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK TO SEARCH               05534000
       HRC011DK:          CCW   06,TABLE,SILI,DL4096    READ DATA                        05535000
       HRC011DK: *---------------------------------------------------------------------- 05536000
       HRC011DK: *                                                                       05537000
       HRC011DK: *        3330 FORMAT CCWS                                               05538000
       HRC011DK: *                                                                       05539000
       HRC011DK: *        THESE COMMENTS APPLY TO THE STRINGS USED FOR THE FORMATTING OF 05540000
       HRC011DK: *        3330S, 3340S, 3350S AND 3380S IN GENERAL, SO WILL NOT          05541000
       HRC011DK: *        BE REPEATED.  THE SEEK TRANSFERS A SEEK ADDRESS FROM MAIN      05542000
       HRC011DK: *        STORAGE TO THE STORAGE DIRECTOR (CHANNEL, POSSIBLY A 3880),    05543000
       HRC011DK: *        WHICH SAVES THE ADDRESS AND ALLOWS POSITIONING OF THE ACCESS   05544000
       HRC011DK: *        MECHANISM AT A LATER TIME.  THE FIRST TWO BYTES ARE ALWAYS     05545000
       HRC011DK: *        ZERO, THE CYLINDER NUMBER IS IN BYTES 3 AND 4, AND THE         05546000
       HRC011DK: *        REQUIRED HEAD IN 5 AND 6.  THE SEEK IS NOT STARTED UNTIL A SET 05547000
       HRC011DK: *        SECTOR, READ, SEARCH, OR WRITE COMMAND.  NEXT, THE SET FILE    05548000
       HRC011DK: *        MASK TRANSFERS A MASK BYTE DEFINING THE WRITE AND SEEK         05549000
       HRC011DK: *        OPERATIONS THAT CAN BE USED.  ANY VIOLATION CAUSES A UC.  SET  05550000
       HRC011DK: *        SECTOR WITH AN ARGUMENT OF ZERO ORIENTS THE TRACK TO INDEX.    05551000
       HRC011DK: *        DURING THE TIME THE STORAGE DIRECTOR IS WAITING FOR INDEX, THE 05552000
       HRC011DK: *        CHANNEL IS AVAILABLE TO PERFORM OTHER OPERATIONS.  IF THE      05553000
       HRC011DK: *        PREVIOUS SEEK COMMAND INDICATED THAT ACCESS MOTION WAS         05554000
       HRC011DK: *        REQUIRED, THE ACCESS MECHANISM IS POSITIONED WHILE THE STORAGE 05555000
       HRC011DK: *        DIRECTOR IS DISCONNECTED FROM THE CHANNEL.  THE SEARCH ID      05556000
       HRC011DK: *        EQUAL COMMAND CAUSES THE FIRST ID FOUND ON THE TRACK TO BE     05557000
       HRC011DK: *        COMPARED WITH THE ARGUMENT.  ALL UNEQUAL COMPARISONS OF IDS    05558000
       HRC011DK: *        CAUSES THE DIRECTOR TO SIGNAL CE AND DE CAUSING THE TIC BACK   05559000
       HRC011DK: *        TO SEARCH TO EXECUTE.  WHEN ID OF RECORD 0 IS FOUND, CE+DE+SM  05560000
       HRC011DK: *        IS SIGNALLED.  THE STATUS MODIFIER CAUSES THE TIC TO BE        05561000
       HRC011DK: *        SKIPPED AND THE FIRST WRITE CKD COMMAND TO BE EXECUTED.  THIS  05562000
       HRC011DK: *        CAUSES A COUNT AREA, KEY AREA, AND DATA AREA WITH THE LENGTH   05563000
       HRC011DK: *        SPECIFIED TO BE WRITTEN ON THE DISK.  THE DATA LENGTH WHICH    05564000
       HRC011DK: *        IS FOUND AT THE CCW DATA ADDRESS SPECIFIES A NORMAL RECORD     05565000
       HRC011DK: *        DATA LENGTH OF 4096 BYTES.  ALTHOUGH THE CCW COUNT IS ONLY     05566000
       HRC011DK: *        EIGHT, 4096 BYTES ARE WRITTEN WITH ZEROES INSERTED IN THE      05567000
       HRC011DK: *        TRACK POSITIONS UNTIL THE BYTE COUNT REACHES ZERO.  NEXT,      05568000
       HRC011DK: *        A WRITE DATA COMMAND (X'05') IS ISSUED.  THIS MUST BE          05569000
       HRC011DK: *        CHAINED FROM A SEARCH ID EQUAL COMMAND THAT COMPARED EQUALLY   05570000
       HRC011DK: *        ON ALL BYTES OF THE SEARCHED FIELD.  HERE THIS IS USED TO      05571000
       HRC011DK: *        PERFORM RECORD UPDATING AFTER TRACK FORMATTING, AND RECORD 0   05572000
       HRC011DK: *        IS UPDATED WITH ZEROES.  THE ABOVE DESCRIPTION IS REPEATED     05573000
       HRC011DK: *        SEVERAL TIMES SO THAT A NUMBER OF TRACKS ARE FORMATTED IN      05574000
       HRC011DK: *        ONE STRING.  FOR A 3350, FOR EXAMPLE, THE STRINGS FORMAT       05575000
       HRC011DK: *        FOUR RECORDS PER TRACK, THREE TRACKS AT A TIME, AND CREATES    05576000
       HRC011DK: *        THIRTY TRACKS PER CYLINDER.                                    05577000
       HRC011DK: *                                                                       05578000
       HRC011DK: *        AT THE USER'S OPTION, THE DATA JUST WRITTEN OUT                05579000
       HRC011DK: *        WITH THE FORMATTING STRING IS THEN VERIFIED FOR CORRECTNESS    05580000
       HRC011DK: *        BY CHAINING THE FOLLOWING CCWS TO THE LAST WRITE DATA COMMAND  05581000
       HRC011DK: *        AND IS DONE FOR EACH TRACK:                                    05582000
       HRC011DK: *            SEEK                                                       05583000
       HRC011DK: *            SET SECTOR                                                 05584000
       HRC011DK: *            SEARCH ID EQUAL (RN)                                       05585000
       HRC011DK: *            TIC *-8                                                    05586000
       HRC011DK: *            READ DATA (1 PAGE)                                         05587000
       HRC011DK: *                                                                       05588000
       HRC011DK: *        THE FORMAT WRITE STRINGS HAVE BEEN MODIFIED HERE TO WRITE      05589000
       HRC011DK: *        ZERO DATA UPDATING RECORD 0 FOR EACH TRACK LAST FOR BETTER     05590000
       HRC011DK: *        PERFORMANCE.  RECORD 0 USED TO BE UPDATED FIRST (MORE          05591000
       HRC011DK: *        LOGICAL?) - BUT THIS WAS NOT NECESSARY.  ISSUING THE WRITE     05592000
       HRC011DK: *        DATA COMMAND FIRST WOULD CAUSE ADDITIONAL SEARCH TIME FOR      05593000
       HRC011DK: *        RECORD 0 AND POSSIBLY EXTRA REVOLUTIONS.  THIS MODIFICATION    05594000
       HRC011DK: *        IMPROVES USER PERFORMANCE IN FORMATTING.                       05595000
       HRC011DK: *                                                                       05596000
       HRC011DK: *---------------------------------------------------------------------- 05597000
       HRC011DK:          SPACE ,                                                        05598000
       HRC011DK:          DS    0D                                                       05599000
       HRC011DK: FMT3330  CCW   07,SEEKA,CC+SILI,6      SEEK                             05600000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    05601000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05602000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05603000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK TO SEARCH               05604000
       HRC011DK:          CCW   29,REC1,CC+SILI,8       WRITE 4096 PAGE                  05605000
       HRC011DK:          CCW   29,RECX1,CC+SILI,8      WRITE FILLER                     05606000
       HRC011DK:          CCW   29,REC2,CC+SILI,8       WRITE 4096 PAGE                  05607000
       HRC011DK:          CCW   29,RECX2,CC+SILI,8      WRITE FILLER                     05608000
       HRC011DK:          CCW   29,REC3,CC+SILI,8       WRITE 4096 PAGE                  05609000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05610000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05611000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   05612000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             05613000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05614000
       HRC011DK:          CCW   49,SEEKB+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05615000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05616000
       HRC011DK:          CCW   29,REC4,CC+SILI,8       WRITE 4096 PAGE                  05617000
       HRC011DK:          CCW   29,RECX4,CC+SILI,8      WRITE FILLER                     05618000
       HRC011DK:          CCW   29,REC5,CC+SILI,8       WRITE 4096 PAGE                  05619000
       HRC011DK:          CCW   29,RECX5,CC+SILI,8      WRITE FILLER                     05620000
       HRC011DK:          CCW   29,REC6,CC+SILI,8       WRITE 4096 PAGE                  05621000
       HRC011DK:          CCW   49,SEEKB+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05622000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              05623000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   05624000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             05625000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05626000
       HRC011DK:          CCW   49,SEEKC+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05627000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              05628000
       HRC011DK:          CCW   29,REC7,CC+SILI,8       WRITE 4096 PAGE                  05629000
       HRC011DK:          CCW   29,RECX7,CC+SILI,8      WRITE FILLER                     05630000
       HRC011DK:          CCW   29,REC8,CC+SILI,8       WRITE 4096 PAGE                  05631000
       HRC011DK:          CCW   29,RECX8,CC+SILI,8      WRITE FILLER                     05632000
       HRC011DK:          CCW   29,REC9,CC+SILI,8       WRITE 4096 PAGE                  05633000
       HRC011DK:          CCW   49,SEEKC+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05634000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05635000
       HRC011DK:          SPACE ,                                                        05636000
       HRC011DK: *---------------------------------------------------------------------- 05637000
       HRC011DK: * NEXT EQU STMT IS USED FOR WRITE VERIFICATION SUPPORT/NON-SUPPORT      05638000
       HRC011DK: *---------------------------------------------------------------------- 05639000
       HRC011DK:          SPACE ,                                                        05640000
       HRC011DK: BFORWR57 EQU   *                       CCW BEFORE WR57 LABEL            05641000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   05642000
       HRC011DK: WR57     CCW   08,NEXTWRT,0,0          USED ON 57TH RECORD              05643000
       HRC011DK: NEXTWRT  CCW   07,SEEKD,CC+SILI,6      SEEK                             05644000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05645000
       HRC011DK:          CCW   49,SEEKD+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05646000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              05647000
       HRC011DK:          CCW   29,REC10,CC+SILI,8      WRITE 4096 PAGE                  05648000
       HRC011DK:          CCW   29,RECX10,CC+SILI,8     WRITE FILLER                     05649000
       HRC011DK:          CCW   29,REC11,CC+SILI,8      WRITE 4096 PAGE                  05650000
       HRC011DK:          CCW   29,RECX11,CC+SILI,8     WRITE FILLER                     05651000
       HRC011DK:          CCW   29,REC12,CC+SILI,8      WRITE 4096 PAGE                  05652000
       HRC011DK:          CCW   49,SEEKD+2,CC+SILI,5    SEARCH ID EQ RECORD 0            05653000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05654000
       HRC011DK: EWT3330  EQU   *                       ADDRESS OF LAST WRT CCW          05655000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   05656000
       HRC011DK:          CCW   8,READCCW,0,0           GO READ/VERIFY TRACKS            05657000
       HRC011DK:          SPACE ,                                                        05658000
       HRC011DK: *---------------------------------------------------------------------- 05659000
       HRC011DK: *        2305 FORMAT CCWS                                               05660000
       HRC011DK: *---------------------------------------------------------------------- 05661000
       HRC011DK:          SPACE ,                                                        05662000
       HRC011DK:          DS    0D                                                       05663000
       HRC011DK: FMT2305  CCW   07,SEEKA,CC+SILI,6      SEEK                             05664000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    05665000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05666000
       HRC011DK:          CCW   21,SEEKA+2,CC+SILI,16   WRITE RECORD ZERO                05667000
       HRC011DK:          CCW   29,REC1,CC+SILI,8       WRITE 4096 PAGE                  05668000
       HRC011DK:          CCW   29,RECX1,CC+SILI,8      WRITE FILLER                     05669000
       HRC011DK:          CCW   29,REC2,CC+SILI,8       WRITE 4096 PAGE                  05670000
       HRC011DK:          CCW   29,RECX2,CC+SILI,8      WRITE FILLER                     05671000
       HRC011DK:          CCW   29,REC3,CC+SILI,8       WRITE 4096 PAGE                  05672000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             05673000
       HRC011DK:          CCW   21,SEEKB+2,CC+SILI,16   WRITE RECORD ZERO                05674000
       HRC011DK:          CCW   29,REC4,CC+SILI,8       WRITE 4096 PAGE                  05675000
       HRC011DK:          CCW   29,RECX4,CC+SILI,8      WRITE FILLER                     05676000
       HRC011DK:          CCW   29,REC5,CC+SILI,8       WRITE 4096 PAGE                  05677000
       HRC011DK:          CCW   29,RECX5,CC+SILI,8      WRITE FILLER                     05678000
       HRC011DK:          CCW   29,REC6,CC+SILI,8       WRITE 4096 PAGE                  05679000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             05680000
       HRC011DK:          CCW   21,SEEKC+2,CC+SILI,16   WRITE RECORD ZERO                05681000
       HRC011DK:          CCW   29,REC7,CC+SILI,8       WRITE 4096 PAGE                  05682000
       HRC011DK:          CCW   29,RECX7,CC+SILI,8      WRITE FILLER                     05683000
       HRC011DK:          CCW   29,REC8,CC+SILI,8       WRITE 4096 PAGE                  05684000
       HRC011DK:          CCW   29,RECX8,CC+SILI,8      WRITE FILLER                     05685000
       HRC011DK:          CCW   29,REC9,CC+SILI,8       WRITE 4096 PAGE                  05686000
       HRC011DK:          CCW   07,SEEKD,CC+SILI,6      SEEK                             05687000
       HRC011DK:          CCW   21,SEEKD+2,CC+SILI,16   WRITE RECORD ZERO                05688000
       HRC011DK:          CCW   29,REC10,CC+SILI,8      WRITE 4096 PAGE                  05689000
       HRC011DK:          CCW   29,RECX10,CC+SILI,8     WRITE FILLER                     05690000
       HRC011DK:          CCW   29,REC11,CC+SILI,8      WRITE 4096 PAGE                  05691000
       HRC011DK:          CCW   29,RECX11,CC+SILI,8     WRITE FILLER                     05692000
       HRC011DK:          CCW   29,REC12,CC+SILI,8      WRITE 4096 PAGE                  05693000
       HRC011DK:          CCW   TIC,READCCW,0,0         GO READ THE TRACKS               05694000
       HRC011DK:          SPACE ,                                                        05695000
       HRC011DK: *---------------------------------------------------------------------- 05696000
       HRC011DK: *        READ/VERIFY CCWS FOR NORMAL RECORDS (3330 AND 2305)            05697000
       HRC011DK: *---------------------------------------------------------------------- 05698000
       HRC011DK:          SPACE ,                                                        05699000
       HRC011DK: READCCW  CCW   07,SEEKA,CC+SILI,6      SEEK                             05700000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05701000
       HRC011DK:          CCW   49,REC1,CC+SILI,5       SEARCH ID EQUAL                  05702000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05703000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05704000
       HRC011DK:          CCW   49,REC2,CC+SILI,5       SEARCH ID EQUAL                  05705000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05706000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05707000
       HRC011DK:          CCW   49,REC3,CC+SILI,5       SEARCH ID EQUAL                  05708000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05709000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05710000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             05711000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05712000
       HRC011DK:          CCW   49,REC4,CC+SILI,5       SEARCH ID EQUAL                  05713000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05714000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05715000
       HRC011DK:          CCW   49,REC5,CC+SILI,5       SEARCH ID EQUAL                  05716000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05717000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05718000
       HRC011DK:          CCW   49,REC6,CC+SILI,5       SEARCH ID EQUAL                  05719000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05720000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05721000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             05722000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05723000
       HRC011DK:          CCW   49,REC7,CC+SILI,5       SEARCH ID EQUAL                  05724000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05725000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05726000
       HRC011DK:          CCW   49,REC8,CC+SILI,5       SEARCH ID EQUAL                  05727000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05728000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05729000
       HRC011DK:          CCW   49,REC9,CC+SILI,5       SEARCH ID EQUAL                  05730000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05731000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               05732000
       HRC011DK: RD57     CCW   08,NEXTREAD,0,0         USED ON 57TH REC                 05733000
       HRC011DK: NEXTREAD CCW   07,SEEKD,CC+SILI,6      SEEK                             05734000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       05735000
       HRC011DK:          CCW   49,REC10,CC+SILI,5      SEARCH ID EQUAL                  05736000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05737000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA 1 PAGE                 05738000
       HRC011DK:          CCW   49,REC11,CC+SILI,5      SEARCH ID EQUAL                  05739000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05740000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA 1 PAGE                 05741000
       HRC011DK:          CCW   49,REC12,CC+SILI,5      SEARCH ID EQUAL                  05742000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05743000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA 1 PAGE                 05744000
       HRC011DK:          CCW   08,BITMAP,0,0           TIC TO WRITE REC 0 BIT MAP       05745000
       HRC011DK:          SPACE ,                                                        05746000
       HRC011DK: ON57WRT  CCW   08,READCCW,0,0          USED TO ALTER OTHER TICS         05747000
       HRC011DK: OFF57WRT CCW   08,NEXTWRT,0,0          USED TO ALTER OTHER TICS         05748000
       HRC011DK: ON57RD   CCW   08,BITMAP,0,0           USED TO ALTER OTHER TICS         05749000
       HRC011DK: OFF57RD  CCW   08,NEXTREAD,0,0         USED TO ALTER OTHER TICS         05750000
       HRC011DK: *---------------------------------------------------------------------- 05751000
       HRC011DK: *        CCWS FOR SPECIAL INFORMATION ON CYLINDER 0                     05752000
       HRC011DK: *---------------------------------------------------------------------- 05753000
       HRC011DK:          SPACE ,                                                        05754000
       HRC011DK: SPEC2314 CCW   07,SEEKA,CC+SILI,6      SEEK CYLINDER 0 HEAD 0           05755000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    05756000
       HRC011DK:          CCW   25,SEEKA+1,CC+SILI,5    WRITE HOME ADDRESS               05757000
       HRC011DK:          CCW   21,SEEKA+2,CC+SILI,16   WRITE RECORD 0                   05758000
       HRC011DK:          CCW   29,R1SPEC,CC+SILI,8+24  WRITE IPL RECORD                 05759000
       HRC011DK:          CCW   29,R2SPEC,CC+SILI,8     WRITE RECORD 2                   05760000
       HRC011DK:          CCW   29,R3VOL1,CC+SILI,8+84  WRITE VOL1 OS LABEL              05761000
       HRC011DK:          CCW   29,R4COUNT,CC+SILI,8+1024 WRITE ALLOCATION MAP           05762000
       HRC011DK:          CCW   29,FORMAT4,CC+SILI,8+140  WRITE FORMAT4 RECORD           05763000
       HRC011DK:          CCW   29,FORMAT5,CC+SILI,8+140  WRITE FORMAT5 RECORD           05764000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             05765000
       HRC011DK:          CCW   25,SEEKB+1,CC+SILI,5    WRITE HOME ADDRESS               05766000
       HRC011DK:          CCW   21,SEEKB+2,CC+SILI,16   WRITE RECORD 0                   05767000
       HRC011DK:          CCW   29,RF3,CC+SILI,8        WRITE ONE PAGE RECORD            05768000
       HRC011DK:          CCW   29,RF4SPEC,CC+SILI,8    WRITE FILLER                     05769000
       HRC011DK:          CCW   01,R4SPEC,CC+SILI,8     WRITE SPECIAL CKD INFO           05770000
       HRC011DK: VERIFY   CCW   07,SEEKA,CC+SILI,6      SEEK                             05771000
       HRC011DK:          CCW   26,0,CC+SKIP,5          READ HOME ADDRESS                05772000
       HRC011DK:          CCW   22,0,CC+SKIP,16         READ RECORD 0                    05773000
       HRC011DK:          CCW   30,0,CC+SKIP,8+24       READ CKD IPL RECORD              05774000
       HRC011DK:          CCW   30,0,CC+SKIP,8+4096     READ CKD PAGE RECORD             05775000
       HRC011DK:          CCW   30,0,CC+SKIP,8+84       READ CKD VOL1 LABEL              05776000
       HRC011DK:          CCW   30,0,CC+SKIP+SILI,8+2048 READ CKD ALLO MAP               05777000
       HRC011DK:          CCW   30,0,CC+SKIP,8+140      READ CKD FORMAT4 RECORD          05778000
       HRC011DK:          CCW   30,0,CC+SKIP,8+140      READ CKD FORMAT5 RECORD          05779000
       HRC011DK: GO       CCW   08,GO2314,0,0           2314, 3330, 3340, 3380           05780000
       HRC011DK: *                                      DEPENDS ON DEVICE                05781000
       HRC011DK: GO2314   CCW   07,SEEKB,CC+SILI,6      SEEK TRACK 1                     05782000
       HRC011DK:          CCW   26,0,CC+SKIP,5          READ HOME ADDRESS                05783000
       HRC011DK:          CCW   22,0,CC+SKIP,16         READ RECORD 0                    05784000
       HRC011DK:          CCW   30,0,CC+SKIP,8+4096     READ CKD F3 PAGE                 05785000
       HRC011DK:          CCW   30,0,CC+SKIP,8+1624     READ CKD FILLER                  05786000
       HRC011DK:          CCW   49,R4SPEC,CC+SILI,5     SEARCH ID EQUAL REC 4            05787000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         05788000
       HRC011DK:          CCW   06,0,SKIP,4096          READ RECORD 4 FULLY              05789000
       HRC011DK:          SPACE ,                                                        05790000
       HRC011DK: GO3330   CCW   30,0,SKIP+SILI,8+4096   READ F3 PAGE RECORD              05791000
       HRC011DK: *---------------------------------------------------------------------- 05792000
       HRC011DK: *        CCW TO PICKUP BROKEN CCW CHAIN                                 05793000
       HRC011DK: *---------------------------------------------------------------------- 05794000
       HRC011DK:          SPACE ,                                                        05795000
       HRC011DK: RESUMCCW CCW   31,FILEMASK,CC+SILI,1                                    05796000
       HRC011DK:          CCW   08,0,0,0                                                 05797000
       HRC011DK:          DS    0F                                                       05798000
       HRC011DK:          DS    1H                                                       05799000
       HRC011DK: SEEKA    DC    H'0'           BB                                        05800000
       HRC011DK:          DC    F'0'           CCHH  -  SEEK HEAD 0                      05801000
       HRC011DK:          DC    F'8'           REC NO. AND DL OR R0                      05802000
       HRC011DK: R0STUF   DC    2F'0'          DATA FIELD OF R0 CYL BIT MAP              05803000
       HRC011DK:          DS    1H                                                       05804000
       HRC011DK: NXTSEEK  EQU   *-SEEKA        LENGTH OF ONE SEEK DATA FIELD             05805000
       HRC011DK: SEEKB    DC    H'0'           BB                                        05806000
       HRC011DK:          DC    F'1'           CCHH  -  SEEK HEAD 1                      05807000
       HRC011DK:          DC    F'8'           REC NO. AND DL OR R0                      05808000
       HRC011DK:          DC    2F'0'                                                    05809000
       HRC011DK:          DS    1H                                                       05810000
       HRC011DK: SEEKC    DC    H'0'                                                     05811000
       HRC011DK:          DC    F'2'                                                     05812000
       HRC011DK:          DC    F'8'                                                     05813000
       HRC011DK:          DC    2F'0'                                                    05814000
       HRC011DK:          DS    1H                                                       05815000
       HRC011DK: SEEKD    DC    H'0'                                                     05816000
       HRC011DK:          DC    F'3'                                                     05817000
       HRC011DK:          DC    F'8'                                                     05818000
       HRC011DK:          DC    2F'0'                                                    05819000
       HRC011DK:          DS    1H                                                       05820000
       HRC011DK: SEEKE    DC    H'0'                                                     05821000
       HRC011DK:          DC    F'4'                                                     05822000
       HRC011DK:          DC    F'8'                                                     05823000
       HRC011DK:          DC    2F'0'                                                    05824000
       HRC011DK:          DS    1H                                                       05825000
       HRC011DK: SEEKF    DC    H'0'                                                     05826000
       HRC011DK:          DC    F'5'                                                     05827000
       HRC011DK:          DC    F'8'                                                     05828000
       HRC011DK:          DC    2F'0'                                                    05829000
       HRC011DK: *---------------------------------------------------------------------- 05830000
       HRC011DK: *        SAVE RECORD INFORMATION                                        05831000
       HRC011DK: *---------------------------------------------------------------------- 05832000
       HRC011DK:          SPACE ,                                                        05833000
       HRC011DK: R1SPEC   DC    F'0'           IPL RECORD SAVE AREA                      05834000
       HRC011DK:          DC    AL1(1),AL3(24) AREA SIZE = 8+24 BYTES                    05835000
       HRC011DK: IPLREC   DC    X'000200000000000C' IPL RECORD (24 BYTES)                05836000
       HRC011DK:          DC    X'0300',H'0'                                             05837000
       HRC011DK:          DC    X'2000',H'0'                                             05838000
       HRC011DK:          DC    2F'0'                                                    05839000
       HRC011DK:          SPACE ,                                                        05840000
       HRC011DK: R2SPEC   DC    F'0'           RECORD 2 (DMKCKP) SAVE AREA               05841000
       HRC011DK:          DC    AL1(2),AL3(4096)                                         05842000
       HRC011DK:          SPACE ,                                                        05843000
       HRC011DK: R3VOL1   DC    F'0'           VOL1 OS LABEL RECORD - VOL1 COUNT         05844000
       HRC011DK:          DC    AL1(3),AL1(4),AL2(80)  REC KL DL DL                      05845000
       HRC011DK: VOL1     DC    C'VOL1'                KEY                               05846000
       HRC011DK: DSFLABEL DS    0CL512                 512 BYTES FOR USER LABEL          05847000
       HRC011DK: OSLABEL  DS    0CL80                   80 BYTES FOR OS LABEL            05848000
       HRC011DK:          DC    C'VOL1'                                                  05849000
       HRC011DK: CPLABEL  DC    C' NONE '      LABEL PLACED HERE                         05850000
       HRC011DK:          DC    X'F0'                                                    05851000
       HRC011DK: VTOCBEG  DC    XL4'0'         PTR TO VTOC IN R3 (CCHH)                  05852000
       HRC011DK: VTOCR    DC    X'05'          PTR TO VTOC IN R3 (R)                     05853000
       HRC011DK:          DC    XL5'0'                                                   05854000
       HRC011DK:          DC    20XL1'40'                                                05855000
       HRC011DK:          DC    XL5'00'                                                  05856000
       HRC011DK:          SPACE ,                                                        05857000
       HRC011DK: LCP370   DC    CL5'CP370'     VOLUME OWNER                              05858000
       HRC011DK:          DC    29XL1'40'                                                05859000
       HRC011DK: * END OF OS LABEL AREA                                                  05860000
       HRC011DK:          DS    CL432                                                    05861000
       HRC011DK: * END OF USER LABEL AREA                                                05862000
       HRC011DK:          CNOP  2,4                                                      05863000
       HRC011DK: R4SEEK   DC    H'0'                                                     05864000
       HRC011DK: R4ALLOC  DC    F'0'           CCHH                                      05865000
       HRC011DK:          DC    AL1(04)        RECORD NUMBER = 4                         05866000
       HRC011DK:          DC    AL1(0)         KL = 0                                    05867000
       HRC011DK: R4DL     DC    AL2(0)         DL=1024, 2048, OR 4096                    05868000
       HRC011DK: CHARSAVE DS    CL9            SAVE AREA FOR INPUT CYL NUMBERS           05869000
       HRC011DK: CHARMASK DC    XL9'F0F0F0F040F0F0F0F0'  MASK FOR CYL NUMBERS            05870000
       HRC011DK:          SPACE ,                                                        05871000
       HRC011DK: FORMAT4  DC    F'00'                        CCHH                        05872000
       HRC011DK:          DC    AL1(5),AL1(44),AL2(96)       REC KL DL DL                05873000
       HRC011DK:          DC    44XL1'04'            KEY OF HEX 04                       05874000
       HRC011DK: FMT4DATA DC    X'F4'          FMT4 DSCB IDENTIFIER                      05875000
       HRC011DK:          DC    X'0000000000'          CCHHR                             05876000
       HRC011DK:          DC    X'0000'                                                  05877000
       HRC011DK:          SPACE ,                                                        05878000
       HRC011DK: NEXTCCHH DC    XL4'0'         CCHH OF NEXT AVAIL. ALT TRK               05879000
       HRC011DK:          DC    X'0000'                                                  05880000
       HRC011DK:          DC    X'00'          VTOC INDICATORS                           05881000
       HRC011DK:          DC    X'01003C00140014'                                        05882000
       HRC011DK:          DC    X'1C7E922D2D'                                            05883000
       HRC011DK:          DC    X'0102160202'                                            05884000
       HRC011DK:          DC    XL29'00'                                                 05885000
       HRC011DK:          DC    X'00'          TRACK ZERO                                05886000
       HRC011DK:          DC    XL8'00'                                                  05887000
       HRC011DK:          DC    X'00'          TRACK ZERO                                05888000
       HRC011DK:          DC    XL25'00'                                                 05889000
       HRC011DK:          SPACE ,                                                        05890000
       HRC011DK: FORMAT5  DC    F'0'                         CCHH                        05891000
       HRC011DK:          DC    AL1(6),AL1(44),AL2(96)       REC KL DL DL                05892000
       HRC011DK:          DC    4XL1'05'                                                 05893000
       HRC011DK:          DC    X'0001000000'  TRACK ZERO NO CYLINDERS NO TRACKS         05894000
       HRC011DK:          DC    XL35'00'                                                 05895000
       HRC011DK:          DC    X'F5'                                                    05896000
       HRC011DK:          DC    XL90'00'                                                 05897000
       HRC011DK:          DC    XL5'00'                                                  05898000
       HRC011DK:          SPACE ,                                                        05899000
       HRC011DK: RF3      DC    F'1'           PAGE SIZE FILLER RECORD                   05900000
       HRC011DK:          DC    X'F3',AL3(4096)                                          05901000
       HRC011DK: RF4SPEC  DC    F'1'           FILLER RECORD                             05902000
       HRC011DK:          DC    X'F4',AL3(1624)                                          05903000
       HRC011DK: R4SPEC   DC    F'1'           SPECIAL CKD INFO                          05904000
       HRC011DK:          DC    AL1(4),AL3(824)                                          05905000
       HRC011DK: RF33330  DC    F'0'           FILLER RECORD FOR 3330/2305               05906000
       HRC011DK:          DC    X'F3',AL3(4096)                                          05907000
       HRC011DK:          SPACE ,                                                        05908000
       HRC011DK: *---------------------------------------------------------------------- 05909000
       HRC011DK: *        SPECIAL RECORDS FOR 3380 CYL0 TRK0                             05910000
       HRC011DK: *---------------------------------------------------------------------- 05911000
       HRC011DK:          SPACE ,                                                        05912000
       HRC011DK: RF43380  DC    F'0'           FILLER RECORDS FOR 3380                   05913000
       HRC011DK:          DC    AL1(244),AL3(4096) REC NUMBER KL DL DL                   05914000
       HRC011DK: RF53380  DC    F'0'           CCHH FOR FILLER                           05915000
       HRC011DK:          DC    AL1(245),AL3(4096) REC NUMBER KL DL DL                   05916000
       HRC011DK: RF63380  DC    F'0'           CCHH FOR FILLER                           05917000
       HRC011DK:          DC    AL1(246),AL3(4096) REC NUMBER KL DL DL                   05918000
       HRC011DK: RF73380  DC    F'0'           CCHH FOR FILLER                           05919000
       HRC011DK:          DC    AL1(247)       RECORD NUMBER = 247                       05920000
       HRC011DK:          DC    AL1(0)         KEY LENGTH = 0                            05921000
       HRC011DK: RF7DL    DC    AL2(0)         DATA LENGTH IS 4K FOR 3380 MOD1          C05922000
       HRC011DK:                               3K FOR 3380-2, 1K FOR 3380-3              05923000
       HRC011DK: RF83380  DC    F'0'           CCHH FOR FILLER                           05924000
       HRC011DK:          DC    AL1(248),AL3(400)  REC NUMBER KL DL DL                   05925000
       HRC011DK: RS73380  DC    F'0'           VALID PAGE RECORDS FOR 3380               05926000
       HRC011DK:          DC    AL1(007),AL3(4096) REC NUMBER KL DL DL                   05927000
       HRC011DK: RS83380  DC    F'0'           CCHH FOR RECORD                           05928000
       HRC011DK:          DC    AL1(008),AL3(4096) REC NUMBER KL DL DL                   05929000
       HRC011DK: RS93380  DC    F'0'           CCHH FOR RECORD                           05930000
       HRC011DK:          DC    AL1(009),AL3(4096) REC NUMBER KL DL DL                   05931000
       HRC011DK: RSA3380  DC    F'0'           CCHH FOR RECORD                           05932000
       HRC011DK:          DC    AL1(010),AL3(4096) REC NUMBER KL DL DL                   05933000
       HRC011DK:          SPACE ,                                                        05934000
       HRC011DK: *---------------------------------------------------------------------- 05935000
       HRC011DK: *        2314 NORMAL DATA RECORDS                                       05936000
       HRC011DK: *---------------------------------------------------------------------- 05937000
       HRC011DK:          SPACE ,                                                        05938000
       HRC011DK: R1STUF   DC    F'0'                                                     05939000
       HRC011DK:          DC    AL1(1),AL3(4096)                                         05940000
       HRC011DK: R2STUF   DC    F'0'                                                     05941000
       HRC011DK:          DC    AL1(2),AL3(2472)                                         05942000
       HRC011DK: R2ASTUF  DC    F'1'                                                     05943000
       HRC011DK:          DC    AL1(2),AL3(1624)                                         05944000
       HRC011DK: R3STUF   DC    F'1'                                                     05945000
       HRC011DK:          DC    AL1(3),AL3(4096)                                         05946000
       HRC011DK: R4STUF   DC    F'1'                                                     05947000
       HRC011DK:          DC    AL1(4),AL3(824)                                          05948000
       HRC011DK: R4ASTUF  DC    F'2'                                                     05949000
       HRC011DK:          DC    AL1(4),AL3(3272)                                         05950000
       HRC011DK: R5STUF   DC    F'2'                                                     05951000
       HRC011DK:          DC    AL1(5),AL3(3296)                                         05952000
       HRC011DK: R5ASTUF  DC    F'3'                                                     05953000
       HRC011DK:          DC    AL1(5),AL3(800)                                          05954000
       HRC011DK: R6STUF   DC    F'3'                                                     05955000
       HRC011DK:          DC    AL1(6),AL3(4096)                                         05956000
       HRC011DK: R7STUF   DC    F'3'           SPECIAL CKD RECORD                        05957000
       HRC011DK:          DC    AL1(7),AL3(1648)                                         05958000
       HRC011DK: R7ASTUF  DC    F'4'                                                     05959000
       HRC011DK:          DC    AL1(7),AL3(2448)                                         05960000
       HRC011DK: R8STUF   DC    F'4'                                                     05961000
       HRC011DK:          DC    AL1(8),AL3(4096)                                         05962000
       HRC011DK: RNR1STUF EQU   *-R1STUF       NUMBER OF BYTES FOR 2314 CCW DATA         05963000
       HRC011DK:          LTORG ,                                                        05964000
       HRC011DK: MCYL3382 DC    H'1769'        HIGHEST CYLINDER ON 3380-2                05965000
       HRC011DK: MCYL3383 DC    H'2654'        3380 EXPANDED FEATURE                     05966000
       HRC011DK: FLAG     DC    X'00'          A OR F                                    05967000
       HRC011DK:          SPACE ,                                                        05968000
       HRC011DK: TYPE     DC    X'00'          DEVICE TYPE                               05969000
       HRC011DK: *        THIS FIELD AND THE BITS IN IT ARE USED DIFFERENTLY THAN THE    05970000
       HRC011DK: *        FIELD RDEVTYPE IN THE REST OF THE VM/SP CODE.                  05971000
       HRC011DK: *        TESTED WITH CLI INSTRUCTION EXCEPT FOR DEVICE TYPE TYP2305X    05972000
       HRC011DK: *        WHERE TM IS USED SOMETIMES                                     05973000
       HRC011DK: TYP2314  EQU   X'14'          2314 DEVICE CODE                          05974000
       HRC011DK: TYP2319  EQU   X'14'          2319 DEVICE CODE, SAME AS 2314            05975000
       HRC011DK: TYP23051 EQU   X'51'          2305 DEVICE CODE MODEL 1                  05976000
       HRC011DK: TYP23052 EQU   X'52'          2305 DEVICE CODE MODEL 2                  05977000
       HRC011DK: TYP3330  EQU   X'30'          3330 DEVICE CODE                          05978000
       HRC011DK: TYP334X  EQU   X'40'          3340/3344 DEVICE CODE                     05979000
       HRC011DK: TYP3350  EQU   X'60'          3350 DEVICE CODE                          05980000
       HRC011DK: TYP3380  EQU   X'20'          3380 DEVICE CODE                          05981000
       HRC011DK: RDEVMD82 EQU   X'08'          3380 MODEL 2                              05982000
       HRC011DK: RDEVMD83 EQU   X'0C'          3380 MODEL 3                              05983000
       HRC011DK:          SPACE ,                                                        05984000
       HRC011DK: CUBSY    EQU   X'50'          CONTROL UNIT BUSY IN CSW                  05985000
       HRC011DK: CUEND    EQU   X'20'          CONTROL UNIT END IN CSW                   05986000
       HRC011DK:          SPACE ,                                                        05987000
       HRC011DK: CSWCDE   EQU   X'04'          MASK FOR CSW STORED CC AFTER IO           05988000
       HRC011DK: BSY      EQU   X'02'          MASK FOR BUSY CC AFTER IO OP              05989000
       HRC011DK: NOPER    EQU   X'01'          MASK FOR NOT OPERATIONAL CC               05990000
       HRC011DK:          SPACE ,                                                        05991000
       HRC011DK: FLNGDRCT EQU   X'10'          SENSE CODE FOR FAILING DIRECTOR           05992000
       HRC011DK:          SPACE ,                                                        05993000
       HRC011DK: *---------------------------------------------------------------------- 05994000
       HRC011DK: *        CYLINDER IS FORMATTED IN A CERTAIN NUMBER OF PASSES DEPENDING  05995000
       HRC011DK: *        ON THE D/T OF THE DASD. A PASS CONSISTS OF 3 OR MORE WHOLE     05996000
       HRC011DK: *        TRACKS.                                                        05997000
       HRC011DK: *---------------------------------------------------------------------- 05998000
       HRC011DK:          SPACE ,                                                        05999000
       HRC011DK: RN3380   EQU   30             NUMBER OF PAGES/PASS FOR 3380             06000000
       HRC011DK: RN3350   EQU   12             NUMBER OF PAGES/PASS FOR 3350             06001000
       HRC011DK: RN3340   EQU   12             NUMBER OF PAGES/PASS FOR 3340             06002000
       HRC011DK: RN3330   EQU   12             NUMBER OF PAGES/PASS FOR 3330             06003000
       HRC011DK: RN2314   EQU   8              NUMBER OF PAGES/PASS FOR 2314             06004000
       HRC011DK: RN2305   EQU   12             NUMBER OF PAGES/PASS FOR 2305             06005000
       HRC011DK:          SPACE ,                                                        06006000
       HRC011DK: TRPP3380 EQU   3              NUMBER OF TRACKS/PASS FOR 3380            06007000
       HRC011DK: TRPP3350 EQU   3              NUMBER OF TRACKS/PASS FOR 3350            06008000
       HRC011DK: TRPP3340 EQU   6              NUMBER OF TRACKS/PASS FOR 3340            06009000
       HRC011DK: TRPP3330 EQU   4              NUMBER OF TRACKS/PASS FOR 3330            06010000
       HRC011DK: TRPP2314 EQU   5              NUMBER OF TRACKS/PASS FOR 2314            06011000
       HRC011DK: TRPP2305 EQU   4              NUMBER OF TRACKS/PASS FOR 2305            06012000
       HRC011DK:          SPACE ,                                                        06013000
       HRC011DK: *---------------------------------------------------------------------- 06014000
       HRC011DK: *        THE FOLLOWING RECORD/PASS NUMBERS CONTAIN PAGE RECORDS AND     06015000
       HRC011DK: *        FILLER RECORDS. ACCORDING TO THE DATA STRUCTURE, FOR SOME D/T, 06016000
       HRC011DK: *        MORE RECORDS ARE UPDATED THAN ARE ACTUALLY WRITTEN.            06017000
       HRC011DK: *---------------------------------------------------------------------- 06018000
       HRC011DK:          SPACE ,                                                        06019000
       HRC011DK: RNRC3380 EQU   RNBYTES/8      NUMBER OF 3380 RECORDS TO UPDATE          06020000
       HRC011DK: RNRC3350 EQU   RNBYTE1/8      NUMBER OF 3350 RECORDS TO UPDATE          06021000
       HRC011DK: RNRC3340 EQU   RNBYTE1/8      NUMBER OF 3340 RECORDS TO UPDATE          06022000
       HRC011DK: RNRC3330 EQU   RNBYTE1/8      NUMBER OF 3330 RECORDS TO UPDATE          06023000
       HRC011DK: RNRC2314 EQU   RNR1STUF/8     NUMBER OF 2314 RECORDS TO UPDATE          06024000
       HRC011DK: RNRC2305 EQU   RNBYTE1/8      NUMBER OF 2305 RECORDS TO UPDATE          06025000
       HRC011DK:          SPACE ,                                                        06026000
       HRC011DK: MREC3380 EQU   150            NUMBER OF PAGES  /CYL FOR 3380            06027000
       HRC011DK:          SPACE ,                                                        06028000
       HRC011DK: RNTR3380 EQU   13             #RECS IN 1 LOC REC 3380 = 1 TRACK         06029000
       HRC011DK:          SPACE ,                                                        06030000
       HRC011DK: *---------------------------------------------------------------------- 06031000
       HRC011DK: *        NUMBER OF RECORDS PER LOCATE RECORD WHEN WRITING TO            06032000
       HRC011DK: *        CYL. 0, TRACK 0:                                               06033000
       HRC011DK: *        RECORD 0                                                       06034000
       HRC011DK: *        STANDARD RECORDS 1 TO 6                                        06035000
       HRC011DK: *        X FILLER RECORDS                                               06036000
       HRC011DK: *        Y PAGE RECORDS                                                 06037000
       HRC011DK: *        (BOTH ARE DEVICE DEPENDENT)                                    06038000
       HRC011DK: *---------------------------------------------------------------------- 06039000
       HRC011DK:          SPACE ,                                                        06040000
       HRC011DK: RNT03380 EQU   7+5+4          NO. RECS IN LOC. REC FOR CYL0/TR0         06041000
       HRC011DK: *                             3380: X = 5, Y = 4                        06042000
       HRC011DK:          SPACE ,                                                        06043000
       HRC011DK: MHD3380  EQU   14             MAX HEAD # FOR 3380 (HEADS 0-14)          06044000
       HRC011DK:          SPACE ,                                                        06045000
       HRC011DK: *---------------------------------------------------------------------- 06046000
       HRC011DK: *        THE TRANSFER LENGTH FACTOR FOR VARIABLE LENGTH RECORDS         06047000
       HRC011DK: *        IS CALCULATED AS FOLLOWS:                                      06048000
       HRC011DK: *        SUMMATION (DATA LENGTH + KEY LENGTH)/ ( # OF RECORDS)          06049000
       HRC011DK: *        (EXCLUDING RECORD 0 IN THE RECORD COUNT)                       06050000
       HRC011DK: *---------------------------------------------------------------------- 06051000
       HRC011DK:          SPACE ,                                                        06052000
       HRC011DK: TLFM3380 EQU   3482           AVERAGE TLF FOR FORMATTING 3380           06053000
       HRC011DK:          SPACE ,                                                        06054000
       HRC011DK: TLFX3380 EQU   2578           AVERAGE TLF FOR WRITING CYL0 TRK0         06055000
       HRC011DK:          SPACE ,                                                        06056000
       HRC011DK: ERBT3380 EQU   X'FC'          RECORDS TO CHECK/RECORDS TO SHOW IN USE   06057000
       HRC011DK: RECN0    EQU   X'00'          RECORD NUMBER 0                           06058000
       HRC011DK: RECN1    EQU   X'01'          RECORD NUMBER 1                           06059000
       HRC011DK: RECN2    EQU   X'02'          RECORD NUMBER 2                           06060000
       HRC011DK: RECN4    DC    X'04'          RECORD NUMBER 4                           06061000
       HRC011DK:          SPACE ,                                                        06062000
       HRC011DK: DEFEXT   EQU   X'63'          DEFINE EXTENT OP CODE                     06063000
       HRC011DK: E4       EQU   X'E4'          E4 SENSE OP CODE                          06064000
       HRC011DK: LOCREC   EQU   X'47'          LOCATE RECORD OP CODE                     06065000
       HRC011DK: SEEK     EQU   X'07'          SEEK                                      06066000
       HRC011DK: SFM      EQU   X'1F'          SET FILE MASK                             06067000
       HRC011DK: STSCTR   EQU   X'23'          SET SECTOR                                06068000
       HRC011DK: SIEQ     EQU   X'31'          SEARCH ID EQUAL                           06069000
       HRC011DK: TIC      EQU   X'08'          TRANSFER IN CHANNEL PROGRAM               06070000
       HRC011DK: READ     EQU   X'06'          READ DATA                                 06071000
       HRC011DK: RDREC0   EQU   X'16'          READ RECORD ZERO OP CODE                  06072000
       HRC011DK: RHADDR   EQU   X'1A'          READ HOME ADDRESS OP CODE                 06073000
       HRC011DK: RCKD     EQU   X'1E'          READ COUNT-KEY-DATA OP CODE               06074000
       HRC011DK: WCKD     EQU   X'1D'          WRITE COUNT-KEY-DATA                      06075000
       HRC011DK: WSCKD    EQU   X'01'          WRITE SPECIAL COUNT-KEY-DATA              06076000
       HRC011DK: WRTD     EQU   X'05'          WRITE DATA                                06077000
       HRC011DK: WTREC0   EQU   X'15'          WRITE RECORD 0 OP CODE                    06078000
       HRC011DK: WHADDR   EQU   X'19'          WRITE HOME ADDRESS OP CODE                06079000
       HRC011DK: SENSEIO  EQU   X'04'          SENSE I/O                                 06080000
       HRC011DK: NOPCCW   EQU   X'03'          NO-OPERATION CCW                          06081000
       HRC011DK:          SPACE ,                                                        06082000
       HRC011DK: COMMA    EQU   C','           CHARACTER COMMA                           06083000
       HRC011DK: BLANK    EQU   1              A SINGLE BLANK IN BET. NAME & CYL         06084000
       HRC011DK: CYLNUM   EQU   4              4 DIGIT START/ENDING CYL NUMBERS          06085000
       HRC011DK: NAMCHARS EQU   4              CHARS AS 'PERM', 'TEMP', ... ETC.         06086000
       HRC011DK:          SPACE ,                                                        06087000
       HRC011DK:          SPACE ,                                                        06088000
       HRC011DK: DSKADD   DC    H'0'           DEVICE ADDRESS                            06089000
       HRC011DK: CONSOL   DC    H'9'           CONSOLE DEFAULT ADDRESS                   06090000
       HRC011DK: CON01F   DC    X'001F'        CONSOLE ADDRESS 001F                      06091000
       HRC011DK: ADDR1    DC    X'5B5F'        LOCATION LINE 22 COL 80                   06092000
       HRC011DK: ADDR2    DC    X'5D6B'        LOCATION LINE 24 COL 60                   06093000
       HRC011DK: ADDR3    DC    X'D65F'        LOCATION LINE 18 COL 80                   06094000
       HRC011DK: ADDR4    DC    X'D86B'        LOCATION LINE 20 COL 60                   06095000
       HRC011DK: ADDR5    DC    X'4040'        INITIALIZED ADDR                          06096000
       HRC011DK: ADDR6    DC    X'5B60'        LOCATION LINE 23 COL 01                   06097000
       HRC011DK: ADDR7    DC    X'D660'        LOCATION LINE 19 COL 01                   06098000
       HRC011DK:          DS    0F                                                       06099000
       HRC011DK: MAXLEN   DC    F'0000'                                                  06100000
       HRC011DK: LEN3270  DC    F'1760'        3270 MOD2 24 LINE CONSOLE/TERM            06101000
       HRC011DK: LEN3278  DC    F'1440'        3278 MOD2A 20 LINE CONSOLE                06102000
       HRC011DK:          SPACE ,                                                        06103000
       HRC011DK:          DS    0D                                                       06104000
       HRC011DK: WTPSW    DC    X'00020000'    HARD WAIT PSW FOR PROG/MACH CHK           06105000
       HRC011DK:          DC    F'0'                                                     06106000
       HRC011DK: PRNUPSW  DC    F'0',A(PRCHK)  PROGRAM NEW PSW                           06107000
       HRC011DK: MCNUPSW  DC    F'0',A(MCRTN)  MACHINE CHECK NEW PSW                     06108000
       HRC011DK:          SPACE ,                                                        06109000
       HRC011DK: INDATA   DC    132X'00'       INPUT DATA AREA                           06110000
       HRC011DK: FILEMASK DC    X'C0'          ALLOW WRITE OPERATIONS                    06111000
       HRC011DK: MASKA    DC    XL8'F0F0F0F0F0F0F0F0' MASKS FOR DETERMINING IF           06112000
       HRC011DK: MASKB    DC    XL8'F0F0F0F0F0F0F0F0' DATA IS ALL NUMERIC                06113000
       HRC011DK:          SPACE ,                                                        06114000
       HRC011DK: FIELDA   DC    D'0'           PACK/UNPACK DATA FIELD                    06115000
       HRC011DK: FIELDB   DC    D'0'           PACK/UNPACK DATA FIELD                    06116000
       HRC011DK: FIELDC   DC    D'0'           PACK/UNPACK DATA FIELD                    06117000
       HRC011DK: BLANKS8  DC    X'4040404040404040' BLANKS                               06118000
       HRC011DK: FFS8     DC    X'FFFFFFFFFFFFFFFF' FFS                                  06119000
       HRC011DK: TTAB     DC    C'0123456789ABCDEF' TRANSLATE TABLE                      06120000
       HRC011DK:          SPACE ,                                                        06121000
       HRC011DK: TIC3380  CCW   TIC,SPEC3380,0,0 MODIFYING CCW FOR 3380 WRITES           06122000
       HRC011DK: WRT3340  CCW   WCKD,RF33330,CC+SILI,8 TO REPLACE 3380 MOD CCW           06123000
       HRC011DK: SPEC3330 CCW   07,SEEKA,CC+SILI,6      SEEK CYL 0 HEAD 0                06124000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    06125000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06126000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06127000
       HRC011DK:          CCW   05,R0STUF,CC+SILI,8     WRITE RECORD 0                   06128000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06129000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK TO SEARCH               06130000
       HRC011DK:          CCW   29,R1SPEC,CC+SILI,8+24  WRITE IPL RECORD                 06131000
       HRC011DK:          CCW   29,R2SPEC,CC+SILI,8     WRITE RECORD                     06132000
       HRC011DK:          CCW   29,R3VOL1,CC+SILI,8+84  WRITE VOL1 OS LABEL              06133000
       HRC011DK:          CCW   29,R4COUNT,CC+SILI,8+DL4096  ALLOCATION MAP              06134000
       HRC011DK: *              R4 IS 4K FOR 3380-3, 2K FOR 3380-2, ELSE 1K              06135000
       HRC011DK: *              CHAN WILL PAD END OF DATA WITH 0'S                       06136000
       HRC011DK:          CCW   29,FORMAT4,CC+SILI,8+140  WRITE FORMAT4 RECORD           06137000
       HRC011DK:          CCW   29,FORMAT5,CC+SILI,8+140  WRITE FORMAT5 RECORD           06138000
       HRC011DK: NOP3340  CCW   29,RF33330,CC+SILI,8    WRITE 1 PAGE RECORD              06139000
       HRC011DK:          CCW   08,VERIFY,0,0           VERIFY WHAT WAS WRITTEN          06140000
       HRC011DK:          SPACE ,                                                        06141000
       HRC011DK:          DS    0D                                                       06142000
       HRC011DK: RDFMT4   CCW   7,SEEKA,CC,6            RD FMT4 AS SPEC. IN VTOC         06143000
       HRC011DK:          CCW   31,FILEMASK,CC,1        SET FILE MASK                    06144000
       HRC011DK:          CCW   49,VTOCBEG,CC+SILI,5    SEARCH ID EQ                     06145000
       HRC011DK:          CCW   8,*-8,0,0               TIC                              06146000
       HRC011DK:          CCW   6,FMT4DATA,SILI,96      READ FMT4 LABEL                  06147000
       HRC011DK: *---------------------------------------------------------------------- 06148000
       HRC011DK: *        3380 FORMAT CYLINDER 0 TRACK 0 CCWS                            06149000
       HRC011DK: *---------------------------------------------------------------------- 06150000
       HRC011DK:          SPACE ,                                                        06151000
       HRC011DK: SPEC3380 CCW   WCKD,RF43380,CC+SILI,8 WRITE FILLER (1 PAGE)             06152000
       HRC011DK:          CCW   WCKD,RF53380,CC+SILI,8 WRITE FILLER (1 PAGE)             06153000
       HRC011DK:          CCW   WCKD,RF63380,CC+SILI,8 WRITE FILLER (1 PAGE)             06154000
       HRC011DK:          CCW   WCKD,RF73380,CC+SILI,8 WRITE FILLER                      06155000
       HRC011DK: *              4K IF 3380-0, 3K IF 3380-2, 1K IF 3380-3                 06156000
       HRC011DK:          CCW   WCKD,RF83380,CC+SILI,8 WRITE FILLER 400 BYTES            06157000
       HRC011DK:          CCW   WCKD,RS73380,CC+SILI,8 VALID PAGE RECORD                 06158000
       HRC011DK:          CCW   WCKD,RS83380,CC+SILI,8 VALID PAGE RECORD                 06159000
       HRC011DK:          CCW   WCKD,RS93380,CC+SILI,8 VALID PAGE RECORD                 06160000
       HRC011DK:          CCW   WCKD,RSA3380,CC+SILI,8 VALID PAGE RECORD                 06161000
       HRC011DK:          CCW   TIC,VERIFY,0,0         GO VERIFY SPECIAL RECORDS         06162000
       HRC011DK:          SPACE ,                                                        06163000
       HRC011DK: *---------------------------------------------------------------------- 06164000
       HRC011DK: *        3380 READ/VERIFY CYLINDER 0 TRACK 0 CCWS                       06165000
       HRC011DK: *---------------------------------------------------------------------- 06166000
       HRC011DK:          SPACE ,                                                        06167000
       HRC011DK: VRFY3380 CCW   SEEK,SEEKA,CC+SILI,6   VERIFY CYL0 TRK 0 RECS            06168000
       HRC011DK:          SPACE ,                                                        06169000
       HRC011DK:          CCW   SIEQ,RF43380,CC+SILI,5 SEARCH ID EQUAL                   06170000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06171000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096    READ DATA (1 PAGE)                06172000
       HRC011DK:          CCW   SIEQ,RF53380,CC+SILI,5 SEARCH ID EQUAL                   06173000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06174000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096    READ DATA (1 PAGE)                06175000
       HRC011DK:          CCW   SIEQ,RF63380,CC+SILI,5 SEARCH ID EQUAL                   06176000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06177000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096    READ DATA (1 PAGE)                06178000
       HRC011DK:          CCW   SIEQ,RF73380,CC+SILI,5 SEARCH ID EQUAL                   06179000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06180000
       HRC011DK:          CCW   READ,0,CC+SKIP+SILI,DL4096 READ DATA                     06181000
       HRC011DK: *              DATA IS 4K IF 3380, 3K IF 3380-2, 4K IF 3380-3           06182000
       HRC011DK:          CCW   SIEQ,RF83380,CC+SILI,5 SEARCH ID EQUAL                   06183000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06184000
       HRC011DK:          CCW   READ,0,CC+SKIP,400     READ FILLER (RF83380)             06185000
       HRC011DK:          CCW   SIEQ,RS73380,CC+SILI,5 SEARCH ID EQUAL                   06186000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06187000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096    READ DATA (1 PAGE)                06188000
       HRC011DK:          CCW   SIEQ,RS83380,CC+SILI,5 SEARCH ID EQUAL                   06189000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06190000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096    READ DATA (1 PAGE)                06191000
       HRC011DK:          CCW   SIEQ,RS93380,CC+SILI,5 SEARCH ID EQUAL                   06192000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06193000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096    READ DATA (1 PAGE)                06194000
       HRC011DK:          CCW   SIEQ,RSA3380,CC+SILI,5 SEARCH ID EQUAL                   06195000
       HRC011DK:          CCW   TIC,*-8,0,0            TIC BACK                          06196000
       HRC011DK:          CCW   READ,0,SKIP,4096       READ DATA (1 PAGE)                06197000
       HRC011DK:          SPACE ,                                                        06198000
       HRC011DK: L18112   EQU   18112          FOR USE AS A SYMBOLIC LENGTH              06199000
       HRC011DK: D28      EQU   28             FOR USE AS SYMBOLIC DISPLACEMENT          06200000
       HRC011DK: D55      EQU   55             FOR USE AS SYMBOLIC DISPLACEMENT          06201000
       HRC011DK: D240     EQU   240            FOR USE AS SYMBOLIC DISPLACEMENT          06202000
       HRC011DK:          SPACE ,                                                        06203000
       HRC011DK: DL24     EQU   24             FOR USE AS SYMBOLIC DATA LENGTH           06204000
       HRC011DK: DL84     EQU   84             FOR USE AS SYMBOLIC DATA LENGTH           06205000
       HRC011DK: DL140    EQU   140            FOR USE AS SYMBOLIC DATA LENGTH           06206000
       HRC011DK: DL1024   EQU   1024           FOR USE AS SYMBOLIC DATA LENGTH           06207000
       HRC011DK: DL2048   EQU   2048           DATA LENGTH 2048                          06208000
       HRC011DK: DL4096   EQU   4096           FOR USE AS SYMBOLIC DATA LENGTH           06209000
       HRC011DK: *---------------------------------------------------------------------- 06210000
       HRC011DK: *        3340-35/3340-70 FORMAT CCWS                                    06211000
       HRC011DK: *---------------------------------------------------------------------- 06212000
       HRC011DK:          SPACE ,                                                        06213000
       HRC011DK:          DS    0D                                                       06214000
       HRC011DK: FMT3340  CCW   07,SEEKA,CC+SILI,6      SEEK                             06215000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    06216000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06217000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06218000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06219000
       HRC011DK:          CCW   29,REC1,CC+SILI,8       WRITE 4096 PAGE                  06220000
       HRC011DK:          CCW   29,REC2,CC+SILI,8       WRITE 4096 PAGE                  06221000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06222000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06223000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06224000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             06225000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06226000
       HRC011DK:          CCW   49,SEEKB+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06227000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06228000
       HRC011DK:          CCW   29,REC3,CC+SILI,8       WRITE 4096 PAGE                  06229000
       HRC011DK:          CCW   29,REC4,CC+SILI,8       WRITE 4096 PAGE                  06230000
       HRC011DK:          CCW   49,SEEKB+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06231000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06232000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06233000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             06234000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06235000
       HRC011DK:          CCW   49,SEEKC+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06236000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06237000
       HRC011DK:          CCW   29,REC5,CC+SILI,8       WRITE 4096 PAGE                  06238000
       HRC011DK:          CCW   29,REC6,CC+SILI,8       WRITE 4096 PAGE                  06239000
       HRC011DK:          CCW   49,SEEKC+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06240000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06241000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06242000
       HRC011DK:          CCW   07,SEEKD,CC+SILI,6      SEEK                             06243000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06244000
       HRC011DK:          CCW   49,SEEKD+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06245000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06246000
       HRC011DK:          CCW   29,REC7,CC+SILI,8       WRITE 4096 PAGE                  06247000
       HRC011DK:          CCW   29,REC8,CC+SILI,8       WRITE 4096 PAGE                  06248000
       HRC011DK:          CCW   49,SEEKD+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06249000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06250000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06251000
       HRC011DK:          CCW   07,SEEKE,CC+SILI,6      SEEK                             06252000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06253000
       HRC011DK:          CCW   49,SEEKE+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06254000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06255000
       HRC011DK:          CCW   29,REC9,CC+SILI,8       WRITE 4096 PAGE                  06256000
       HRC011DK:          CCW   29,REC10,CC+SILI,8      WRITE 4096 PAGE                  06257000
       HRC011DK:          CCW   49,SEEKE+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06258000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06259000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06260000
       HRC011DK:          CCW   07,SEEKF,CC+SILI,6      SEEK                             06261000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06262000
       HRC011DK:          CCW   49,SEEKF+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06263000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06264000
       HRC011DK:          CCW   29,REC11,CC+SILI,8      WRITE 4096 PAGE                  06265000
       HRC011DK:          CCW   29,REC12,CC+SILI,8      WRITE 4096 PAGE                  06266000
       HRC011DK:          CCW   49,SEEKF+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06267000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06268000
       HRC011DK: EWT3340  EQU   *                       LAST WRITE CCW IN PROG.          06269000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06270000
       HRC011DK: *---------------------------------------------------------------------- 06271000
       HRC011DK: *        3340-35/3340-70 READ/VERIFY CCWS                               06272000
       HRC011DK: *---------------------------------------------------------------------- 06273000
       HRC011DK:          SPACE ,                                                        06274000
       HRC011DK:          CCW   07,SEEKA,CC+SILI,6      SEEK                             06275000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06276000
       HRC011DK:          CCW   49,REC1,CC+SILI,5       SEARCH ID EQ                     06277000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06278000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06279000
       HRC011DK:          CCW   49,REC2,CC+SILI,5       SEARCH ID EQ                     06280000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06281000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06282000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             06283000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06284000
       HRC011DK:          CCW   49,REC3,CC+SILI,5       SEARCH ID EQ                     06285000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06286000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06287000
       HRC011DK:          CCW   49,REC4,CC+SILI,5       SEARCH ID EQ                     06288000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06289000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06290000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             06291000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06292000
       HRC011DK:          CCW   49,REC5,CC+SILI,5       SEARCH ID EQ                     06293000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06294000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06295000
       HRC011DK:          CCW   49,REC6,CC+SILI,5       SEARCH ID EQ                     06296000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06297000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06298000
       HRC011DK:          CCW   07,SEEKD,CC+SILI,6      SEEK                             06299000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06300000
       HRC011DK:          CCW   49,REC7,CC+SILI,5       SEARCH ID EQUAL                  06301000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06302000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06303000
       HRC011DK:          CCW   49,REC8,CC+SILI,5       SEARCH ID EQ                     06304000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06305000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06306000
       HRC011DK:          CCW   07,SEEKE,CC+SILI,6      SEEK                             06307000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06308000
       HRC011DK:          CCW   49,REC9,CC+SILI,5       SEARCH ID EQ                     06309000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06310000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06311000
       HRC011DK:          CCW   49,REC10,CC+SILI,5      SEARCH ID EQ                     06312000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06313000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06314000
       HRC011DK:          CCW   07,SEEKF,CC+SILI,6      SEEK                             06315000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06316000
       HRC011DK:          CCW   49,REC11,CC+SILI,5      SEARCH ID EQ                     06317000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06318000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06319000
       HRC011DK:          CCW   49,REC12,CC+SILI,5      SEARCH ID EQ                     06320000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06321000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06322000
       HRC011DK:          CCW   08,BITMAP,0,0           TIC TO WRITE R0 BIT MAP          06323000
       HRC011DK: *---------------------------------------------------------------------- 06324000
       HRC011DK: *        3350 FORMAT CCWS                                               06325000
       HRC011DK: *---------------------------------------------------------------------- 06326000
       HRC011DK:          SPACE ,                                                        06327000
       HRC011DK:          DS    0D                                                       06328000
       HRC011DK: FMT3350  CCW   07,SEEKA,CC+SILI,6      SEEK                             06329000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    06330000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06331000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06332000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06333000
       HRC011DK:          CCW   29,REC1,CC+SILI,8       WRITE 4096 PAGE                  06334000
       HRC011DK:          CCW   29,RECX1,CC+SILI,8      WRITE FILLER                     06335000
       HRC011DK:          CCW   29,REC2,CC+SILI,8       WRITE 4096 PAGE                  06336000
       HRC011DK:          CCW   29,RECX2,CC+SILI,8      WRITE FILLER                     06337000
       HRC011DK:          CCW   29,REC3,CC+SILI,8       WRITE 4096 PAGE                  06338000
       HRC011DK:          CCW   29,RECX3,CC+SILI,8      WRITE FILLER                     06339000
       HRC011DK:          CCW   29,REC4,CC+SILI,8       WRITE 4096 PAGE                  06340000
       HRC011DK:          CCW   49,SEEKA+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06341000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06342000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06343000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             06344000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06345000
       HRC011DK:          CCW   49,SEEKB+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06346000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06347000
       HRC011DK:          CCW   29,REC5,CC+SILI,8       WRITE 4096 PAGE                  06348000
       HRC011DK:          CCW   29,RECX5,CC+SILI,8      WRITE FILLER                     06349000
       HRC011DK:          CCW   29,REC6,CC+SILI,8       WRITE 4096 PAGE                  06350000
       HRC011DK:          CCW   29,RECX6,CC+SILI,8      WRITE FILLER                     06351000
       HRC011DK:          CCW   29,REC7,CC+SILI,8       WRITE 4096 PAGE                  06352000
       HRC011DK:          CCW   29,RECX7,CC+SILI,8      WRITE FILLER                     06353000
       HRC011DK:          CCW   29,REC8,CC+SILI,8       WRITE 4096 PAGE                  06354000
       HRC011DK:          CCW   49,SEEKB+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06355000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06356000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06357000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             06358000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06359000
       HRC011DK:          CCW   49,SEEKC+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06360000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06361000
       HRC011DK:          CCW   29,REC9,CC+SILI,8       WRITE 4096 PAGE                  06362000
       HRC011DK:          CCW   29,RECX9,CC+SILI,8      WRITE FILLER                     06363000
       HRC011DK:          CCW   29,REC10,CC+SILI,8      WRITE 4096 PAGE                  06364000
       HRC011DK:          CCW   29,RECX10,CC+SILI,8     WRITE FILLER                     06365000
       HRC011DK:          CCW   29,REC11,CC+SILI,8      WRITE 4096 PAGE                  06366000
       HRC011DK:          CCW   29,RECX11,CC+SILI,8     WRITE FILLER                     06367000
       HRC011DK:          CCW   29,REC12,CC+SILI,8      WRITE 4096 PAGE                  06368000
       HRC011DK:          CCW   49,SEEKC+2,CC+SILI,5    SEARCH ID EQ RECORD 0            06369000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06370000
       HRC011DK: EWT3350  EQU   *                       LAST WRITE CCW IN PROG.          06371000
       HRC011DK:          CCW   05,ZERO,CC+SILI,8       WRITE RECORD 0                   06372000
       HRC011DK:          SPACE ,                                                        06373000
       HRC011DK: *---------------------------------------------------------------------- 06374000
       HRC011DK: *        3350 READ/VERIFY CCWS                                          06375000
       HRC011DK: *---------------------------------------------------------------------- 06376000
       HRC011DK:          SPACE ,                                                        06377000
       HRC011DK:          CCW   07,SEEKA,CC+SILI,6      SEEK                             06378000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06379000
       HRC011DK:          CCW   49,REC1,CC+SILI,5       SEARCH ID EQUAL                  06380000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06381000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06382000
       HRC011DK:          CCW   49,REC2,CC+SILI,5       SEARCH ID EQUAL                  06383000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06384000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06385000
       HRC011DK:          CCW   49,REC3,CC+SILI,5       SEARCH ID EQUAL                  06386000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06387000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06388000
       HRC011DK:          CCW   49,REC4,CC+SILI,5       SEARCH ID EQ                     06389000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06390000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06391000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             06392000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06393000
       HRC011DK:          CCW   49,REC5,CC+SILI,5       SEARCH ID EQUAL                  06394000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06395000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06396000
       HRC011DK:          CCW   49,REC6,CC+SILI,5       SEARCH ID EQUAL                  06397000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06398000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06399000
       HRC011DK:          CCW   49,REC7,CC+SILI,5       SEARCH ID EQUAL                  06400000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06401000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06402000
       HRC011DK:          CCW   49,REC8,CC+SILI,5       SEARCH ID EQUAL                  06403000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06404000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06405000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             06406000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06407000
       HRC011DK:          CCW   49,REC9,CC+SILI,5       SEARCH ID EQUAL                  06408000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06409000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06410000
       HRC011DK:          CCW   49,REC10,CC+SILI,5      SEARCH ID EQUAL                  06411000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06412000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06413000
       HRC011DK:          CCW   49,REC11,CC+SILI,5      SEARCH ID EQUAL                  06414000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06415000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06416000
       HRC011DK:          CCW   49,REC12,CC+SILI,5      SEARCH ID EQUAL                  06417000
       HRC011DK:          CCW   08,*-8,0,0              TIC BACK                         06418000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA (1 PAGE)               06419000
       HRC011DK:          CCW   08,BITMAP,0,0           TIC TO WRITE R0 BIT MAP          06420000
       HRC011DK: *---------------------------------------------------------------------- 06421000
       HRC011DK: *        E4 SENSE CCW                                                   06422000
       HRC011DK: *---------------------------------------------------------------------- 06423000
       HRC011DK:          SPACE ,                                                        06424000
       HRC011DK: CCWSNSE4 CCW   E4,SENSE,SILI,L7            E4 SENSE                     06425000
       HRC011DK:          SPACE ,                                                        06426000
       HRC011DK: *---------------------------------------------------------------------- 06427000
       HRC011DK: *        3380 CKD FORMAT CCWS                                           06428000
       HRC011DK: *---------------------------------------------------------------------- 06429000
       HRC011DK:          SPACE ,                                                        06430000
       HRC011DK:          DS    0D                                                       06431000
       HRC011DK: FMT3380  CCW   SEEK,SEEKA,CC+SILI,6    SEEK                             06432000
       HRC011DK:          CCW   SFM,FILEMASK,CC+SILI,1  SET FILE MASK                    06433000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06434000
       HRC011DK:          CCW   SIEQ,SEEKA+2,CC+SILI,5  SEARCH ID EQ RECORD 0            06435000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC                              06436000
       HRC011DK:          SPACE ,                                                        06437000
       HRC011DK: *        TRACK N FORMAT WRITE CCWS                                      06438000
       HRC011DK:          SPACE ,                                                        06439000
       HRC011DK:          CCW   WCKD,REC1,CC+SILI,8     WRITE 4096 PAGE                  06440000
       HRC011DK:          CCW   WCKD,REC2,CC+SILI,8     WRITE 4096 PAGE                  06441000
       HRC011DK:          CCW   WCKD,REC3,CC+SILI,8     WRITE 4096 PAGE                  06442000
       HRC011DK:          CCW   WCKD,RECXX3,CC+SILI,8   WRITE A FILLER RECORD            06443000
       HRC011DK:          CCW   WCKD,REC4,CC+SILI,8     WRITE 4096 PAGE                  06444000
       HRC011DK:          CCW   WCKD,REC5,CC+SILI,8     WRITE 4096 PAGE                  06445000
       HRC011DK:          CCW   WCKD,REC6,CC+SILI,8     WRITE 4096 PAGE                  06446000
       HRC011DK:          CCW   WCKD,RECXX6,CC+SILI,8   WRITE A FILLER RECORD            06447000
       HRC011DK:          CCW   WCKD,REC7,CC+SILI,8     WRITE 4096 PAGE                  06448000
       HRC011DK:          CCW   WCKD,REC8,CC+SILI,8     WRITE 4096 PAGE                  06449000
       HRC011DK:          CCW   WCKD,REC9,CC+SILI,8     WRITE 4096 PAGE                  06450000
       HRC011DK:          CCW   WCKD,REC10,CC+SILI,8    WRITE 4096 PAGE                  06451000
       HRC011DK:          CCW   SIEQ,SEEKA+2,CC+SILI,5  SEARCH ID EQ RECORD 0            06452000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06453000
       HRC011DK:          CCW   WRTD,ZERO,CC+SILI,8     WRITE RECORD 0                   06454000
       HRC011DK:          SPACE ,                                                        06455000
       HRC011DK: *        TRACK (N+1)                                                    06456000
       HRC011DK:          SPACE ,                                                        06457000
       HRC011DK:          CCW   SEEK,SEEKB,CC+SILI,6    SEEK                             06458000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06459000
       HRC011DK:          CCW   SIEQ,SEEKB+2,CC+SILI,5  SEARCH ID EQ RECORD 0            06460000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06461000
       HRC011DK:          SPACE ,                                                        06462000
       HRC011DK: *        TRACK (N+1) FORMAT WRITE CCWS                                  06463000
       HRC011DK:          SPACE ,                                                        06464000
       HRC011DK:          CCW   WCKD,REC11,CC+SILI,8    WRITE 4096 PAGE                  06465000
       HRC011DK:          CCW   WCKD,REC12,CC+SILI,8    WRITE 4096 PAGE                  06466000
       HRC011DK:          CCW   WCKD,REC13,CC+SILI,8    WRITE 4096 PAGE                  06467000
       HRC011DK:          CCW   WCKD,RECXX13,CC+SILI,8  WRITE A FILLER RECORD            06468000
       HRC011DK:          CCW   WCKD,REC14,CC+SILI,8    WRITE 4096 PAGE                  06469000
       HRC011DK:          CCW   WCKD,REC15,CC+SILI,8    WRITE 4096 PAGE                  06470000
       HRC011DK:          CCW   WCKD,REC16,CC+SILI,8    WRITE 4096 PAGE                  06471000
       HRC011DK:          CCW   WCKD,RECXX16,CC+SILI,8  WRITE A FILLER RECORD            06472000
       HRC011DK:          CCW   WCKD,REC17,CC+SILI,8    WRITE 4096 PAGE                  06473000
       HRC011DK:          CCW   WCKD,REC18,CC+SILI,8    WRITE 4096 PAGE                  06474000
       HRC011DK:          CCW   WCKD,REC19,CC+SILI,8    WRITE 4096 PAGE                  06475000
       HRC011DK:          CCW   WCKD,REC20,CC+SILI,8    WRITE 4096 PAGE                  06476000
       HRC011DK:          CCW   SIEQ,SEEKB+2,CC+SILI,5  SEARCH ID EQ RECORD 0            06477000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06478000
       HRC011DK:          CCW   WRTD,ZERO,CC+SILI,8     WRITE RECORD 0                   06479000
       HRC011DK:          SPACE ,                                                        06480000
       HRC011DK: *        TRACK (N+2)                                                    06481000
       HRC011DK:          SPACE ,                                                        06482000
       HRC011DK:          CCW   SEEK,SEEKC,CC+SILI,6    SEEK                             06483000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06484000
       HRC011DK:          CCW   SIEQ,SEEKC+2,CC+SILI,5  SEARCH ID EQ RECORD 0            06485000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06486000
       HRC011DK:          SPACE ,                                                        06487000
       HRC011DK: *        TRACK (N+2) FORMAT WRITE CCWS                                  06488000
       HRC011DK:          SPACE ,                                                        06489000
       HRC011DK:          CCW   WCKD,REC21,CC+SILI,8    WRITE 4096 PAGE                  06490000
       HRC011DK:          CCW   WCKD,REC22,CC+SILI,8    WRITE 4096 PAGE                  06491000
       HRC011DK:          CCW   WCKD,REC23,CC+SILI,8    WRITE 4096 PAGE                  06492000
       HRC011DK:          CCW   WCKD,RECXX23,CC+SILI,8  WRITE A FILLER RECORD            06493000
       HRC011DK:          CCW   WCKD,REC24,CC+SILI,8    WRITE 4096 PAGE                  06494000
       HRC011DK:          CCW   WCKD,REC25,CC+SILI,8    WRITE 4096 PAGE                  06495000
       HRC011DK:          CCW   WCKD,REC26,CC+SILI,8    WRITE 4096 PAGE                  06496000
       HRC011DK:          CCW   WCKD,RECXX26,CC+SILI,8  WRITE A FILLER RECORD            06497000
       HRC011DK:          CCW   WCKD,REC27,CC+SILI,8    WRITE 4096 PAGE                  06498000
       HRC011DK:          CCW   WCKD,REC28,CC+SILI,8    WRITE 4096 PAGE                  06499000
       HRC011DK:          CCW   WCKD,REC29,CC+SILI,8    WRITE 4096 PAGE                  06500000
       HRC011DK:          CCW   WCKD,REC30,CC+SILI,L8   WRITE 4096 PAGE                  06501000
       HRC011DK:          CCW   SIEQ,SEEKC+2,CC+SILI,5  SEARCH ID EQ RECORD 0            06502000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06503000
       HRC011DK: EWT3380  EQU   *                       LAST WRITE CCW IN PROG.          06504000
       HRC011DK:          CCW   WRTD,ZERO,CC+SILI,8     WRITE RECORD 0                   06505000
       HRC011DK:          SPACE ,                                                        06506000
       HRC011DK: *---------------------------------------------------------------------- 06507000
       HRC011DK: *        3380 READ/VERIFY CCWS                                          06508000
       HRC011DK: *---------------------------------------------------------------------- 06509000
       HRC011DK:          SPACE ,                                                        06510000
       HRC011DK: *        TRACK N                                                        06511000
       HRC011DK:          SPACE ,                                                        06512000
       HRC011DK: VWRT3380 CCW   SEEK,SEEKA,CC+SILI,6    SEEK                             06513000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06514000
       HRC011DK:          CCW   SIEQ,REC1,CC+SILI,5     SEARCH ID EQ                     06515000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06516000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06517000
       HRC011DK:          CCW   SIEQ,REC2,CC+SILI,5     SEARCH ID EQ                     06518000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06519000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06520000
       HRC011DK:          CCW   SIEQ,REC3,CC+SILI,5     SEARCH ID EQ                     06521000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06522000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06523000
       HRC011DK:          CCW   SIEQ,REC4,CC+SILI,5     SEARCH ID EQ                     06524000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06525000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06526000
       HRC011DK:          CCW   SIEQ,REC5,CC+SILI,5     SEARCH ID EQ                     06527000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06528000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06529000
       HRC011DK:          CCW   SIEQ,REC6,CC+SILI,5     SEARCH ID EQ                     06530000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06531000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06532000
       HRC011DK:          CCW   SIEQ,REC7,CC+SILI,5     SEARCH ID EQ                     06533000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06534000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06535000
       HRC011DK:          CCW   SIEQ,REC8,CC+SILI,5     SEARCH ID EQ                     06536000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06537000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06538000
       HRC011DK:          CCW   SIEQ,REC9,CC+SILI,5     SEARCH ID EQ                     06539000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06540000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06541000
       HRC011DK:          CCW   SIEQ,REC10,CC+SILI,5    SEARCH ID EQ                     06542000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06543000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06544000
       HRC011DK:          SPACE ,                                                        06545000
       HRC011DK: *        TRACK (N+1)                                                    06546000
       HRC011DK:          SPACE ,                                                        06547000
       HRC011DK:          CCW   SEEK,SEEKB,CC+SILI,6    SEEK                             06548000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06549000
       HRC011DK:          CCW   SIEQ,REC11,CC+SILI,5    SEARCH ID EQ                     06550000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06551000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06552000
       HRC011DK:          CCW   SIEQ,REC12,CC+SILI,5    SEARCH ID EQ                     06553000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06554000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06555000
       HRC011DK:          CCW   SIEQ,REC13,CC+SILI,5    SEARCH ID EQ                     06556000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06557000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06558000
       HRC011DK:          CCW   SIEQ,REC14,CC+SILI,5    SEARCH ID EQ                     06559000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06560000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06561000
       HRC011DK:          CCW   SIEQ,REC15,CC+SILI,5    SEARCH ID EQ                     06562000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06563000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06564000
       HRC011DK:          CCW   SIEQ,REC16,CC+SILI,5    SEARCH ID EQ                     06565000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06566000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06567000
       HRC011DK:          CCW   SIEQ,REC17,CC+SILI,5    SEARCH ID EQ                     06568000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06569000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06570000
       HRC011DK:          CCW   SIEQ,REC18,CC+SILI,5    SEARCH ID EQ                     06571000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06572000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06573000
       HRC011DK:          CCW   SIEQ,REC19,CC+SILI,5    SEARCH ID EQ                     06574000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06575000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06576000
       HRC011DK:          CCW   SIEQ,REC20,CC+SILI,5    SEARCH ID EQ                     06577000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06578000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06579000
       HRC011DK:          SPACE ,                                                        06580000
       HRC011DK: *        TRACK (N+2)                                                    06581000
       HRC011DK:          SPACE ,                                                        06582000
       HRC011DK:          CCW   SEEK,SEEKC,CC+SILI,6    SEEK                             06583000
       HRC011DK:          CCW   STSCTR,R0SEC,CC+SILI,1  SET SECTOR                       06584000
       HRC011DK:          CCW   SIEQ,REC21,CC+SILI,5    SEARCH ID EQ                     06585000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06586000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06587000
       HRC011DK:          CCW   SIEQ,REC22,CC+SILI,5    SEARCH ID EQ                     06588000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06589000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06590000
       HRC011DK:          CCW   SIEQ,REC23,CC+SILI,5    SEARCH ID EQ                     06591000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06592000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06593000
       HRC011DK:          CCW   SIEQ,REC24,CC+SILI,5    SEARCH ID EQ                     06594000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06595000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06596000
       HRC011DK:          CCW   SIEQ,REC25,CC+SILI,5    SEARCH ID EQ                     06597000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06598000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06599000
       HRC011DK:          CCW   SIEQ,REC26,CC+SILI,5    SEARCH ID EQ                     06600000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06601000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06602000
       HRC011DK:          CCW   SIEQ,REC27,CC+SILI,5    SEARCH ID EQ                     06603000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06604000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06605000
       HRC011DK:          CCW   SIEQ,REC28,CC+SILI,5    SEARCH ID EQ                     06606000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06607000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06608000
       HRC011DK:          CCW   SIEQ,REC29,CC+SILI,5    SEARCH ID EQ                     06609000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06610000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06611000
       HRC011DK:          CCW   SIEQ,REC30,CC+SILI,L5   SEARCH ID EQ                     06612000
       HRC011DK:          CCW   TIC,*-8,0,0             TIC BACK                         06613000
       HRC011DK:          CCW   READ,0,CC+SKIP,4096     READ DATA (1 PAGE)               06614000
       HRC011DK:          SPACE ,                                                        06615000
       HRC011DK:          CCW   TIC,BITMAP,0,0          GO WRITE BIT MAP                 06616000
       HRC011DK: *---------------------------------------------------------------------- 06617000
       HRC011DK: *        2314/2319 FORMAT CCWS                                          06618000
       HRC011DK: *---------------------------------------------------------------------- 06619000
       HRC011DK:          SPACE ,                                                        06620000
       HRC011DK: FMT2314  CCW   7,SEEKA,CC+SILI,6       SEEK                             06621000
       HRC011DK:          CCW   31,FILEMASK,CC+SILI,1   SET FILE MASK                    06622000
       HRC011DK:          CCW   25,SEEKA+1,CC+SILI,5    WRITE HOME ADDRESS               06623000
       HRC011DK:          CCW   21,SEEKA+2,CC+SILI,16   WRITE RECORD 0                   06624000
       HRC011DK:          CCW   29,R1STUF,CC+SILI,8     WRITE CKD RECORD                 06625000
       HRC011DK:          CCW   01,R2STUF,CC+SILI,8     WRITE SPECIAL CKD                06626000
       HRC011DK:          CCW   07,SEEKB,CC+SILI,6      SEEK                             06627000
       HRC011DK:          CCW   25,SEEKB+1,CC+SILI,5    WRITE HOME ADDRESS               06628000
       HRC011DK:          CCW   21,SEEKB+2,CC+SILI,16   WRITE RECORD 0                   06629000
       HRC011DK:          CCW   29,R2ASTUF,CC+SILI,8    WRITE CKD RECORD                 06630000
       HRC011DK:          CCW   29,R3STUF,CC+SILI,8     WRITE CKD RECORD                 06631000
       HRC011DK:          CCW   01,R4STUF,CC+SILI,8     WRITE SPECIAL CKD                06632000
       HRC011DK:          CCW   07,SEEKC,CC+SILI,6      SEEK                             06633000
       HRC011DK:          CCW   25,SEEKC+1,CC+SILI,5    WRITE HOME ADDRESS               06634000
       HRC011DK:          CCW   21,SEEKC+2,CC+SILI,16   WRITE RECORD 0                   06635000
       HRC011DK:          CCW   29,R4ASTUF,CC+SILI,8    WRITE CKD RECORD                 06636000
       HRC011DK:          CCW   01,R5STUF,CC+SILI,8     WRITE SPECIAL CKD                06637000
       HRC011DK:          CCW   07,SEEKD,CC+SILI,6      SEEK                             06638000
       HRC011DK:          CCW   25,SEEKD+1,CC+SILI,5    WRITE HOME ADDRESS               06639000
       HRC011DK:          CCW   21,SEEKD+2,CC+SILI,16   WRITE RECORD 0                   06640000
       HRC011DK:          CCW   29,R5ASTUF,CC+SILI,8    WRITE CKD RECORD                 06641000
       HRC011DK:          CCW   29,R6STUF,CC+SILI,8     WRITE CKD RECORD                 06642000
       HRC011DK:          CCW   01,R7STUF,CC+SILI,8     WRITE SPECIAL CKD                06643000
       HRC011DK:          CCW   07,SEEKE,CC+SILI,6      SEEK                             06644000
       HRC011DK:          CCW   25,SEEKE+1,CC+SILI,5    WRITE HOME ADDRESS               06645000
       HRC011DK:          CCW   21,SEEKE+2,CC+SILI,16   WRITE RECORD 0                   06646000
       HRC011DK:          CCW   29,R7ASTUF,CC+SILI,8    WRITE CKD RECORD                 06647000
       HRC011DK:          CCW   29,R8STUF,CC+SILI,8     WRITE CKD RECORD                 06648000
       HRC011DK:          SPACE ,                                                        06649000
       HRC011DK: *---------------------------------------------------------------------- 06650000
       HRC011DK: *        2314/2319 READ/VERIFY CCWS                                     06651000
       HRC011DK: *---------------------------------------------------------------------- 06652000
       HRC011DK:          SPACE ,                                                        06653000
       HRC011DK:          CCW   07,SEEKA,CC+SILI,6      SEEK                             06654000
       HRC011DK:          CCW   49,R1STUF,CC+SILI,5     SEARCH ID EQ                     06655000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06656000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA                        06657000
       HRC011DK:          CCW   49,R2STUF,CC+SILI,5     SEARCH ID EQ                     06658000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06659000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA                        06660000
       HRC011DK:          CCW   07,SEEKB,CC,6           SEEK                             06661000
       HRC011DK:          CCW   49,R3STUF,CC,5          SEARCH ID EQ                     06662000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06663000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA                        06664000
       HRC011DK:          CCW   49,R4STUF,CC,5          SEARCH ID EQ                     06665000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06666000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA                        06667000
       HRC011DK:          CCW   07,SEEKC,CC,6           SEEK                             06668000
       HRC011DK:          CCW   49,R5STUF,CC,5          SEARCH ID EQ                     06669000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06670000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA                        06671000
       HRC011DK:          CCW   07,SEEKD,CC,6           SEEK                             06672000
       HRC011DK:          CCW   49,R6STUF,CC,5          SEARCH ID EQ                     06673000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06674000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA                        06675000
       HRC011DK:          CCW   49,R7STUF,CC,5          SEARCH ID EQ                     06676000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06677000
       HRC011DK:          CCW   06,0,CC+SKIP,4096       READ DATA                        06678000
       HRC011DK:          CCW   07,SEEKE,CC,6           SEEK                             06679000
       HRC011DK:          CCW   49,R8STUF,CC,5          SEARCH ID EQ                     06680000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06681000
       HRC011DK:          CCW   06,01,CC+SKIP,4096      READ DATA                        06682000
       HRC011DK:          SPACE ,                                                        06683000
       HRC011DK: *---------------------------------------------------------------------- 06684000
       HRC011DK: *        WRITE REC 0 BIT MAP FOR 2314,3330,3340,3350,3380 OR 2305       06685000
       HRC011DK: *---------------------------------------------------------------------- 06686000
       HRC011DK:          SPACE ,                                                        06687000
       HRC011DK: BITMAP   CCW   07,SEEK0,CC,6           SEEK                             06688000
       HRC011DK:          CCW   49,SEEK0+2,CC,5         SEARCH ID EQ                     06689000
       HRC011DK:          CCW   08,*-8,0,0              TIC                              06690000
       HRC011DK:          CCW   05,R0STUF,CC+SILI,8     REWRITE BIT MAP                  06691000
       HRC011DK:          CCW   22,0,SKIP,16            READ RECORD 0                    06692000
       HRC011DK: *---------------------------------------------------------------------  06693000
       HRC011DK: *               DEVICE TYPE/FORMAT PROCEDURE DATA TABLE                 06694000
       HRC011DK: *                                                                       06695000
       HRC011DK: *        THIS TABLE HAS THE FORMAT OF THE DFODATA DSECT.  CHANGES MADE  06696000
       HRC011DK: *        HERE MUST ALSO BE MADE IN THE DSECT.  EXPAND THE TABLE ONLY    06697000
       HRC011DK: *        BY FULL WORDS.                                                 06698000
       HRC011DK: *                                                                       06699000
       HRC011DK: *        TYPE  DS  X    DEVICE TYPE                                     06700000
       HRC011DK: *        ENDFL DS  X    FLAGS FOR FEATURES OR PROCESS                   06701000
       HRC011DK: *                  X'01' LAST ENTRY IN TABLE (OR'ED)                    06702000
       HRC011DK: *        NRECS DS  H    NUMBER OF CCW DATA TO BE UPDATED                06703000
       HRC011DK: *        1REC  DS  A    FIRST CCW TO BE UPDATED                         06704000
       HRC011DK: *        CAW   DS  A    CAW TO BE USED                                  06705000
       HRC011DK: *        CAWEW DS  A    LAST WRITE CCW IN WRITE PROGRAM                 06706000
       HRC011DK: *        RPPAS DS  H    RECORDS PER PASS (PAGES)                        06707000
       HRC011DK: *        TRPAS DS  H    TRACKS PER PASS                                 06708000
       HRC011DK: *              DS  H    FUTURE                                          06709000
       HRC011DK: *        RECTR DS  X    RECORDS/TRACK (NOT 2314)                        06710000
       HRC011DK: *              DS  X    FOR FUTURE USE                                  06711000
       HRC011DK: *                                                                       06712000
       HRC011DK: *---------------------------------------------------------------------- 06713000
       HRC011DK:          SPACE ,                                                        06714000
       HRC011DK: DFOTABLE DS    0F             DEVICE FORMAT TABLE                       06715000
       HRC011DK:          SPACE ,                                                        06716000
       HRC011DK: DFO3380  DS    0F             3380 DEVICE DATA                          06717000
       HRC011DK:          DC    AL1(TYP3380)   DEVICE TYPE                               06718000
       HRC011DK:          DC    AL1(DFOTBSTD)  STANDARD NON-ECKD                         06719000
       HRC011DK:          DC    AL2(RNRC3380)  NUMBER OF RECORDS TO UPDATE               06720000
       HRC011DK:          DC    AL4(REC1)      FIRST RECORD TO UPDATE                    06721000
       HRC011DK:          DC    AL4(FMT3380)   CHANNEL PROGRAM ADDRESS                   06722000
       HRC011DK:          DC    AL4(EWT3380)   LAST WRITE CCW IN WRITE PROGRAM           06723000
       HRC011DK:          DC    AL2(RN3380)    RECORDS PER PASS                          06724000
       HRC011DK:          DC    AL2(TRPP3380)  TRACKS PER PASS                           06725000
       HRC011DK:          DC    AL2(0)                                                   06726000
       HRC011DK:          DC    AL1(RNTR3380)  RECORDS PER TRACK                         06727000
       HRC011DK:          DC    AL1(0)                                                   06728000
       HRC011DK: DFO3380F DS    0F             3380 DEVICE DATA                          06729000
       HRC011DK:          DC    AL1(TYP3380)   DEVICE TYPE                               06730000
       HRC011DK:          DC    AL1(DFOTBSPE)  SPECIAL TO UPDATE FILLER RECORDS          06731000
       HRC011DK:          DC    AL2(RNRECS1)   NUMBER OF RECORDS TO UPDATE               06732000
       HRC011DK:          DC    AL4(RECXX3)    FIRST FILLER RECORD TO UPDATE             06733000
       HRC011DK:          DC    AL4(FMT3380)   CHANNEL PROGRAM ADDRESS                   06734000
       HRC011DK:          DC    AL4(EWT3380)   LAST WRITE CCW IN WRITE PROGRAM           06735000
       HRC011DK:          DC    AL2(RNRECS1)   RECORDS PER PASS                          06736000
       HRC011DK:          DC    AL2(TRPP3380)  TRACKS PER PASS                           06737000
       HRC011DK:          DC    AL2(0)                                                   06738000
       HRC011DK:          DC    AL1(RNTR3380)  RECORDS PER TRACK                         06739000
       HRC011DK:          DC    AL1(0)                                                   06740000
       HRC011DK:          SPACE ,                                                        06741000
       HRC011DK: DFO3350  DS    0F              3350                                     06742000
       HRC011DK:          DC    AL1(TYP3350)                                             06743000
       HRC011DK:          DC    AL1(DFOTBSTD)   STANDARD                                 06744000
       HRC011DK:          DC    AL2(RNRC3350)                                            06745000
       HRC011DK:          DC    AL4(REC1)                                                06746000
       HRC011DK:          DC    AL4(FMT3350)                                             06747000
       HRC011DK:          DC    AL4(EWT3350)   LAST WRITE CCW IN WRITE PROGRAM           06748000
       HRC011DK:          DC    AL2(RN3350)                                              06749000
       HRC011DK:          DC    AL2(TRPP3350)                                            06750000
       HRC011DK:          DC    AL2(0)                                                   06751000
       HRC011DK:          DC    AL1(0)                                                   06752000
       HRC011DK:          DC    AL1(0)                                                   06753000
       HRC011DK:          SPACE ,                                                        06754000
       HRC011DK: DFO3340  DS    0F             3340-35 AND 3340-70                       06755000
       HRC011DK:          DC    AL1(TYP334X)                                             06756000
       HRC011DK:          DC    AL1(DFOTBSTD)  STANDARD                                  06757000
       HRC011DK:          DC    AL2(RNRC3340)                                            06758000
       HRC011DK:          DC    AL4(REC1)                                                06759000
       HRC011DK:          DC    AL4(FMT3340)                                             06760000
       HRC011DK:          DC    AL4(EWT3340)   LAST WRITE CCW IN WRITE PROGRAM           06761000
       HRC011DK:          DC    AL2(RN3340)                                              06762000
       HRC011DK:          DC    AL2(TRPP3340)                                            06763000
       HRC011DK:          DC    AL2(0)                                                   06764000
       HRC011DK:          DC    AL1(0)                                                   06765000
       HRC011DK:          DC    AL1(0)                                                   06766000
       HRC011DK:          SPACE ,                                                        06767000
       HRC011DK: DFO3330  DS    0F             3330 MOD.1 AND MOD. 2 AND MOD. 11         06768000
       HRC011DK:          DC    AL1(TYP3330)                                             06769000
       HRC011DK:          DC    AL1(DFOTBSTD)  STANDARD                                  06770000
       HRC011DK:          DC    AL2(RNRC3330)                                            06771000
       HRC011DK:          DC    AL4(REC1)                                                06772000
       HRC011DK:          DC    AL4(FMT3330)                                             06773000
       HRC011DK:          DC    AL4(EWT3330)   LAST WRITE CCW IN WRITE PROGRAM           06774000
       HRC011DK:          DC    AL2(RN3330)                                              06775000
       HRC011DK:          DC    AL2(TRPP3330)                                            06776000
       HRC011DK:          DC    AL2(0)                                                   06777000
       HRC011DK:          DC    AL1(0)                                                   06778000
       HRC011DK:          DC    AL1(0)                                                   06779000
       HRC011DK:          SPACE ,                                                        06780000
       HRC011DK: DFO2314  DS    0F             2314 AND 2319                             06781000
       HRC011DK:          DC    AL1(TYP2314)                                             06782000
       HRC011DK:          DC    AL1(DFOTBSTD)  STANDARD                                  06783000
       HRC011DK:          DC    AL2(RNRC2314)                                            06784000
       HRC011DK:          DC    AL4(R1STUF)                                              06785000
       HRC011DK:          DC    AL4(FMT2314)                                             06786000
       HRC011DK:          DC    AL4(0)         LAST WRITE CCW IN WRITE PROGRAM           06787000
       HRC011DK:          DC    AL2(RN2314)                                              06788000
       HRC011DK:          DC    AL2(TRPP2314)                                            06789000
       HRC011DK:          DC    AL2(0)                                                   06790000
       HRC011DK:          DC    AL1(0)                                                   06791000
       HRC011DK:          DC    AL1(0)                                                   06792000
       HRC011DK:          SPACE ,                                                        06793000
       HRC011DK: DFO23051 DS    0F             2305 MOD. 1                               06794000
       HRC011DK:          DC    AL1(TYP23051)                                            06795000
       HRC011DK:          DC    AL1(DFOTBSTD)  STANDARD                                  06796000
       HRC011DK:          DC    AL2(RNRC2305)                                            06797000
       HRC011DK:          DC    AL4(REC1)                                                06798000
       HRC011DK:          DC    AL4(FMT2305)                                             06799000
       HRC011DK:          DC    AL4(0)         LAST WRITE CCW IN WRITE PROGRAM           06800000
       HRC011DK:          DC    AL2(RN2305)                                              06801000
       HRC011DK:          DC    AL2(TRPP2305)                                            06802000
       HRC011DK:          DC    AL2(0)                                                   06803000
       HRC011DK:          DC    AL1(0)                                                   06804000
       HRC011DK:          DC    AL1(0)                                                   06805000
       HRC011DK:          SPACE ,                                                        06806000
       HRC011DK: DFO23052 DS    0F             2305 MOD. 2                               06807000
       HRC011DK:          DC    AL1(TYP23052)                                            06808000
       HRC011DK:          DC    AL1(DFOTBSTD+DFOTBEND)  STANDARD + LAST ENTRY            06809000
       HRC011DK:          DC    AL2(RNRC2305)                                            06810000
       HRC011DK:          DC    AL4(REC1)                                                06811000
       HRC011DK:          DC    AL4(FMT2305)                                             06812000
       HRC011DK:          DC    AL4(0)         LAST WRITE CCW IN WRITE PROGRAM           06813000
       HRC011DK:          DC    AL2(RN2305)                                              06814000
       HRC011DK:          DC    AL2(TRPP2305)                                            06815000
       HRC011DK:          DC    AL2(0)                                                   06816000
       HRC011DK:          DC    AL1(0)                                                   06817000
       HRC011DK:          DC    AL1(0)                                                   06818000
       HRC011DK: *---------------------------------------------------------------------- 06819000
       HRC011DK: *   THE FOLLOWING TWO TABLES ARE USED BY THE ROUTINE CHECKCKD           06820000
       HRC011DK: *   TO FIND THE DEVICE SPECIFIC PARAMETERS FOR THE DEVICE TYPE          06821000
       HRC011DK: *   THE USER HAS SPECIFIED.  DEVTBL1 CONTAINS THE DEVICE DATA,          06822000
       HRC011DK: *   AND DEVTBL2 CONTAINS THE DEVICE NAME FOR COMPARISON TO HOW          06823000
       HRC011DK: *   THE USER SPECIFIED IT.                                              06824000
       HRC011DK: *                                                                       06825000
       HRC011DK: *** IMPORTANT:  THE ENTRIES IN THESE TWO TABLES MUST BE    ***          06826000
       HRC011DK: ***             KEPT IN THE SAME RELATIVE SEQUENCE!!!      ***          06827000
       HRC011DK: *                                                                       06828000
       HRC011DK: *   THE SPECIAL FEATURE INDEX IS USED TO DO ANY UNIQUE DEVICE           06829000
       HRC011DK: *   PROCESSING.  CURRENT ASSIGNMENTS ARE:                               06830000
       HRC011DK: *       DEVSFIX = 0 - NO SPECIAL HANDLING REQUIRED                      06831000
       HRC011DK: *       DEVSFIX = 4 - 3380                                              06832000
       HRC011DK: *       DEVSFIX = 8 - 3330, 3330-11                                     06833000
       HRC011DK: *       DEVSFIX = 12- 3340-70MB                                         06834000
       HRC011DK: *                                                                       06835000
       HRC011DK: *   THE WRITE VERIFICATION INDEX IS USED TO DEFINE WHETHER A CKD        06836000
       HRC011DK: *   DEVICE SUPPORTS THE WRITE VERIFICATION AS AN OPTION.  CURRENT       06837000
       HRC011DK: *   ASSIGNMENTS ARE:                                                    06838000
       HRC011DK: *       DEVWVDEF = 0 - OPTION IS UNAVAILABLE FOR THIS DEVICE, USER WILL 06839000
       HRC011DK: *                      NOT RECEIVE THE PROMPT.                          06840000
       HRC011DK: *       DEVWVDEF = 8 - OPTION IS AVAILABLE FOR THIS DEVICE, THEREFORE   06841000
       HRC011DK: *                      PROMPT THE USER AND DETERMINE WHETHER WRITE      06842000
       HRC011DK: *                      VERIFICATION IS REQUIRED.                        06843000
       HRC011DK: *---------------------------------------------------------------------- 06844000
       HRC011DK:          SPACE ,                                                        06845000
       HRC011DK: DEVGO    EQU   0                                                        06846000
       HRC011DK: DEVHIVAL EQU   DEVGO+8                                                  06847000
       HRC011DK: DEVRECVL EQU   DEVHIVAL+2                                               06848000
       HRC011DK: DEVICETP EQU   DEVRECVL+1                                               06849000
       HRC011DK: DEVARGLN EQU   DEVICETP+1                                               06850000
       HRC011DK: DEVSFIX  EQU   DEVARGLN+1                                               06851000
       HRC011DK: DEVWVDEF EQU   DEVSFIX+1    DEVICE DEFAULTS FOR WRITE                   06852000
       HRC011DK: *                           VERIFICATION OPTION USAGE.                  06853000
       HRC011DK:          SPACE ,                                                        06854000
       HRC011DK: *-------------------------------------------------------------          06855000
       HRC011DK: *   DEVSFIX EQUATES                                                     06856000
       HRC011DK: *-------------------------------------------------------------          06857000
       HRC011DK:          SPACE ,                                                        06858000
       HRC011DK: DVIXNONE EQU   0            NO SPECIAL HANDLING REQUIRED                06859000
       HRC011DK: DVIX3380 EQU   4            3380                                        06860000
       HRC011DK: DVIX3330 EQU   8            3330, 3330-11                               06861000
       HRC011DK: DVIX3340 EQU   12           3340-70MB                                   06862000
       HRC011DK:          SPACE ,                                                        06863000
       HRC011DK: *---------------------------------------------------------------------- 06864000
       HRC011DK: *   DEVWVDEF EQUATES                                                    06865000
       HRC011DK: *---------------------------------------------------------------------- 06866000
       HRC011DK:          SPACE ,                                                        06867000
       HRC011DK: DVWVPMT  EQU   WVPMT        PROMPT USER FOR WRITE VERIFICATION          06868000
       HRC011DK: DVWVSKIP EQU   WVNOTOPT     WRITE VERIFICATION IS NOT OPTIONAL          06869000
       HRC011DK: *                           FOR THIS DEV AND WILL ALWAYS BE PERFORMED   06870000
       HRC011DK: DVWVREQ  EQU   WVREQ        USER HAS SELECTED WRT VERIFICATION          06871000
       HRC011DK:          SPACE ,                                                        06872000
       HRC011DK: DEVTBEND EQU   X'FF'        END OF TABLE INDICATOR                      06873000
       HRC011DK:          SPACE ,                                                        06874000
       HRC011DK: *---------------------------------------------------------------------- 06875000
       HRC011DK: *   DEVTBL1                                                             06876000
       HRC011DK: *---------------------------------------------------------------------- 06877000
       HRC011DK:          SPACE ,                                                        06878000
       HRC011DK: DEVTBL1  DS    0D                                                       06879000
       HRC011DK:          SPACE ,                                                        06880000
       HRC011DK: *                             3380 ENTRY                                06881000
       HRC011DK:          CCW   TIC,VRFY3380,0,0  MODIFYING CCW FOR 3380 VERIFY          06882000
       HRC011DK:          DC    H'884'         HIGHEST CYLINDER ON 3380                  06883000
       HRC011DK:          DC    AL1(MREC3380)  # RECORDS/CYLINDER                        06884000
       HRC011DK:          DC    AL1(TYP3380)   DEVICE TYPE                               06885000
       HRC011DK:          DC    AL1(L'NM3380-1) LNGTH OF NAME FOR COMPARISON             06886000
       HRC011DK:          DC    AL1(DVIX3380)  SPECIAL FEATURE INDEX                     06887000
       HRC011DK:          DC    AL1(DVWVPMT)   PROMPT FOR WRITE VERIFICATION             06888000
       HRC011DK:          SPACE ,                                                        06889000
       HRC011DK:          DS    0D                                                       06890000
       HRC011DK: DEVTBESZ EQU   *-DEVTBL1                                                06891000
       HRC011DK:          SPACE ,                                                        06892000
       HRC011DK: *                             3350 ENTRY                                06893000
       HRC011DK:          DS    0D                                                       06894000
       HRC011DK:          CCW   08,GO2314,0,0  USED TO ALTER OTHER TICS                  06895000
       HRC011DK:          DC    H'554'         HIGHEST CYLINDER ON 3350                  06896000
       HRC011DK:          DC    X'78'          # RECORDS/CYLINDER                        06897000
       HRC011DK:          DC    AL1(TYP3350)   DEVICE TYPE                               06898000
       HRC011DK:          DC    AL1(L'NM3350-1) LNGTH OF NAME FOR COMPARISON             06899000
       HRC011DK:          DC    AL1(DVIXNONE)  SPECIAL FEATURE INDEX                     06900000
       HRC011DK:          DC    AL1(DVWVPMT)   PROMPT FOR WRITE VERIFICATION             06901000
       HRC011DK:          SPACE ,                                                        06902000
       HRC011DK: *                             3330 ENTRY                                06903000
       HRC011DK:          DS    0D                                                       06904000
       HRC011DK:          CCW   08,GO3330,0,0  USED TO ALTER OTHER TICS                  06905000
       HRC011DK:          DC    H'403'         HIGHEST CYLINDER ON 3330                  06906000
       HRC011DK:          DC    X'3C'          # RECORDS/CYLINDER                        06907000
       HRC011DK:          DC    AL1(TYP3330)   DEVICE TYPE                               06908000
       HRC011DK:          DC    AL1(L'NM3330-1) LNGTH OF NAME FOR COMPARISON             06909000
       HRC011DK:          DC    AL1(DVIX3330)  SPECIAL FEATURE INDEX                     06910000
       HRC011DK:          DC    AL1(DVWVPMT)   PROMPT FOR WRITE VERIFICATION             06911000
       HRC011DK:          SPACE ,                                                        06912000
       HRC011DK: *                             3330-11 ENTRY                             06913000
       HRC011DK:          DS    0D                                                       06914000
       HRC011DK:          CCW   08,GO3330,0,0  USED TO ALTER OTHER TICS                  06915000
       HRC011DK:          DC    H'807'         HIGHEST CYLINDER ON 3330                  06916000
       HRC011DK:          DC    X'3C'          # RECORDS/CYLINDER                        06917000
       HRC011DK:          DC    AL1(TYP3330)   DEVICE TYPE                               06918000
       HRC011DK:          DC    AL1(L'NM333011-1) LNGTH OF NAME FOR COMPARISON           06919000
       HRC011DK:          DC    AL1(DVIX3330)  SPECIAL FEATURE INDEX                     06920000
       HRC011DK:          DC    AL1(DVWVPMT)   PROMPT FOR WRITE VERIFICATION             06921000
       HRC011DK:          SPACE ,                                                        06922000
       HRC011DK: *                             3340-35 ENTRY                             06923000
       HRC011DK:          DS    0D                                                       06924000
       HRC011DK:          CCW   04,0,SKIP+SILI,1  USED TO ALTER OTHER TICS               06925000
       HRC011DK:          DC    H'347'         HIGHEST CYLINDER ON 3340-35               06926000
       HRC011DK:          DC    X'18'          # RECORDS/CYLINDER                        06927000
       HRC011DK:          DC    AL1(TYP334X)   DEVICE TYPE                               06928000
       HRC011DK:          DC    AL1(L'NM334035-1) LNGTH OF NAME FOR COMPARISON           06929000
       HRC011DK:          DC    AL1(DVIXNONE)  SPECIAL FEATURE INDEX                     06930000
       HRC011DK:          DC    AL1(DVWVPMT)   PROMPT FOR WRITE VERIFICATION             06931000
       HRC011DK:          SPACE ,                                                        06932000
       HRC011DK: *                             3340-70 ENTRY                             06933000
       HRC011DK:          DS    0D                                                       06934000
       HRC011DK:          CCW   04,0,SKIP+SILI,1  USED TO ALTER OTHER TICS               06935000
       HRC011DK:          DC    H'695'         HIGHEST CYLINDER ON 3340-70               06936000
       HRC011DK:          DC    X'18'          # RECORDS/CYLINDER                        06937000
       HRC011DK:          DC    AL1(TYP334X)   DEVICE TYPE                               06938000
       HRC011DK:          DC    AL1(L'NM334070-1) LNGTH OF NAME FOR COMPARISON           06939000
       HRC011DK:          DC    AL1(DVIX3340)  SPECIAL FEATURE INDEX                     06940000
       HRC011DK:          DC    AL1(DVWVPMT)   PROMPT FOR WRITE VERIFICATION             06941000
       HRC011DK:          SPACE ,                                                        06942000
       HRC011DK: *                             2305-1 ENTRY                              06943000
       HRC011DK:          DS    0D                                                       06944000
       HRC011DK:          CCW   08,GO3330,0,0  USED TO ALTER OTHER TICS                  06945000
       HRC011DK:          DC    H'47'          HIGHEST CYLINDER ON 2305-1                06946000
       HRC011DK:          DC    X'18'          # RECORDS/CYLINDER                        06947000
       HRC011DK:          DC    AL1(TYP23051)  DEVICE TYPE                               06948000
       HRC011DK:          DC    AL1(L'NM23051-1) LNGTH OF NAME FOR COMPARISON            06949000
       HRC011DK:          DC    AL1(DVIXNONE)  SPECIAL FEATURE INDEX                     06950000
       HRC011DK:          DC    AL1(DVWVSKIP)  NO PROMPT FOR WRITE VERIFICATION          06951000
       HRC011DK:          SPACE ,                                                        06952000
       HRC011DK: *                             2305-2 ENTRY                              06953000
       HRC011DK:          DS    0D                                                       06954000
       HRC011DK:          CCW   08,GO3330,0,0  USED TO ALTER OTHER TICS                  06955000
       HRC011DK:          DC    H'95'          HIGHEST CYLINDER ON 2305-2                06956000
       HRC011DK:          DC    X'18'          # RECORDS/CYLINDER                        06957000
       HRC011DK:          DC    AL1(TYP23052)  DEVICE TYPE                               06958000
       HRC011DK:          DC    AL1(L'NM23052-1) LNGTH OF NAME FOR COMPARISON            06959000
       HRC011DK:          DC    AL1(DVIXNONE)  SPECIAL FEATURE INDEX                     06960000
       HRC011DK:          DC    AL1(DVWVSKIP)  NO PROMPT FOR WRITE VERIFICATION          06961000
       HRC011DK:          SPACE ,                                                        06962000
       HRC011DK: *                             2314 ENTRY                                06963000
       HRC011DK:          DS    0D                                                       06964000
       HRC011DK:          CCW   08,GO2314,0,0  USED TO ALTER OTHER TICS                  06965000
       HRC011DK:          DC    H'202'         HIGHEST CYLINDER ON 2314                  06966000
       HRC011DK:          DC    X'20'          # RECORDS/CYLINDER                        06967000
       HRC011DK:          DC    AL1(TYP2314)   DEVICE TYPE                               06968000
       HRC011DK:          DC    AL1(L'NM2314-1) LNGTH OF NAME FOR COMPARISON             06969000
       HRC011DK:          DC    AL1(DVIXNONE)  SPECIAL FEATURE INDEX                     06970000
       HRC011DK:          DC    AL1(DVWVSKIP)  NO PROMPT FOR WRITE VERIFICATION          06971000
       HRC011DK:          SPACE ,                                                        06972000
       HRC011DK: *                             2319 ENTRY                                06973000
       HRC011DK:          DS    0D                                                       06974000
       HRC011DK:          CCW   08,GO2314,0,0  USED TO ALTER OTHER TICS                  06975000
       HRC011DK:          DC    H'202'         HIGHEST CYLINDER ON 2319                  06976000
       HRC011DK:          DC    X'20'          # RECORDS/CYLINDER                        06977000
       HRC011DK:          DC    AL1(TYP2319)   DEVICE TYPE                               06978000
       HRC011DK:          DC    AL1(L'NM2319-1) LNGTH OF NAME FOR COMPARISON             06979000
       HRC011DK:          DC    AL1(DVIXNONE)  SPECIAL FEATURE INDEX                     06980000
       HRC011DK:          DC    AL1(DVWVSKIP)  NO PROMPT FOR WRITE VERIFICATION          06981000
       HRC011DK:          DS    0D                                                       06982000
       HRC011DK:          DC    AL1(DEVTBEND)  SIGNAL END OF TABLE                       06983000
       HRC011DK:          SPACE ,                                                        06984000
       HRC011DK: *---------------------------------------------------------------------- 06985000
       HRC011DK: *   DEVTBL2 - DEVICE NAMES AS SPECIFIED BY THE USER                     06986000
       HRC011DK: *---------------------------------------------------------------------- 06987000
       HRC011DK:          SPACE ,                                                        06988000
       HRC011DK: DEVTBL2  EQU   *                                                        06989000
       HRC011DK:          SPACE ,                                                        06990000
       HRC011DK: NM3380   DC    C'3380 '                                                 06991000
       HRC011DK: NM3350   DC    C'3350 '                                                 06992000
       HRC011DK: NM3330   DC    C'3330 '                                                 06993000
       HRC011DK: NM333011 DC    C'3330-11 '                                              06994000
       HRC011DK: NM334035 DC    C'3340-35 '                                              06995000
       HRC011DK: NM334070 DC    C'3340-70 '                                              06996000
       HRC011DK: NM23051  DC    C'2305-1 '                                               06997000
       HRC011DK: NM23052  DC    C'2305-2 '                                               06998000
       HRC011DK: NM2314   DC    C'2314 '                                                 06999000
       HRC011DK: NM2319   DC    C'2319 '                                                 07000000
       HRC011DK:          SPACE ,                                                        07001000
       HRC011DK: *                                                                       07002000
       HRC011DK: *   ALLOCATION MAP BUFFER                                               07003000
       HRC011DK: *                                                                       07004000
       HRC011DK: * DO NOT SEPARATE R4COUNT AND TABLE.  THEY MUST BE CONTIGUOUS SO THAT   07005000
       HRC011DK: * WCKD WHICH WRITES ALLOC MAP TO CYLINDER 0 WORKS CORRECTLY.            07006000
       HRC011DK:          DS    0F                                                       07007000
       HRC011DK: R4COUNT  DC    XL8'00'        ALLOC MAP COUNT FIELD                     07008000
       HRC011DK: TABLE    DC    4096X'00'      ALLOC MAP BUFFER                          07009000
       HRC011DK: *---------------------------------------------------------------------- 07010000
       HRC011DK: *        'DEVICE DATA AND FORMATTING PROCEDURE' TABLE ENTRY DSECT       07011000
       HRC011DK: *---------------------------------------------------------------------- 07012000
       HRC011DK:          SPACE ,                                                        07013000
       HRC011DK: DFODATA  DSECT                DEVICE FORMAT DATA                        07014000
       HRC011DK: DFOTYPE  DS    X              DEVICE TYPE                               07015000
       HRC011DK: DFOENDFL DS    X              FLAG BYTE                                 07016000
       HRC011DK: DFOTBEND EQU   X'01'          SIGNALS: LAST ENTRY IN TABLE              07017000
       HRC011DK: *                             ... OR-ED WITH OTHER BITS                 07018000
       HRC011DK: DFOTBSTD EQU   X'00'          STANDARD ENTRY                            07019000
       HRC011DK: DFOTBSPE EQU   X'20'          ENTRY USED FOR SPECIAL PURPOSE            07020000
       HRC011DK: DFONRECS DS    H              NUMBER OF CCW DATA TO BE UPDATED          07021000
       HRC011DK: DFO1REC  DS    A              FIRST CCW DATA TO BE UPDATED              07022000
       HRC011DK: DFOCAW   DS    A              CAW TO BE USED                            07023000
       HRC011DK: DFOCAWEW DS    A              LAST WRITE CCW IN WRITE PROGRAM           07024000
       HRC011DK: DFORPPAS DS    H              RECORDS PER PASS (PAGE RECORDS)           07025000
       HRC011DK: DFOTRPAS DS    H              TRACKS PER PASS                           07026000
       HRC011DK:          DS    H              RESERVED                                  07027000
       HRC011DK: DFORECTR DS    X              RECORDS/TRACK(NOT USED FOR 2314)          07028000
       HRC011DK: *                             ... PAGE AND NON-PAGE RECORDS             07029000
       HRC011DK:          DS    X              RESERVED                                  07030000
       HRC011DK:          SPACE ,                                                        07031000
       HRC011DK: DFOTELEN EQU   *-DFODATA      LENGTH OF DEV/FORM TABLE ENTRY            07032000
       HRC011DK:          COPY  EQU                                                      07033000
       HRC011DK: L1       EQU   1                                                        07034000
       HRC011DK: L2       EQU   2                                                        07035000
       HRC011DK: L3       EQU   3                                                        07036000
       HRC011DK: L4       EQU   4                                                        07037000
       HRC011DK: L5       EQU   5                                                        07038000
       HRC011DK: L6       EQU   6                                                        07039000
       HRC011DK: L7       EQU   7                                                        07040000
       HRC011DK: L8       EQU   8                                                        07041000
       HRC011DK: L9       EQU   9                                                        07042000
       HRC011DK: L10      EQU   10                                                       07043000
       HRC011DK: L11      EQU   11                                                       07044000
       HRC011DK: L12      EQU   12                                                       07045000
       HRC011DK: L13      EQU   13                                                       07046000
       HRC011DK: L14      EQU   14                                                       07047000
       HRC011DK: L15      EQU   15                                                       07048000
       HRC011DK: L16      EQU   16                                                       07049000
       HRC011DK: L17      EQU   17                                                       07050000
       HRC011DK: L18      EQU   18                                                       07051000
       HRC011DK: L19      EQU   19                                                       07052000
       HRC011DK: L20      EQU   20                                                       07053000
       HRC011DK: D1       EQU   1                                                        07054000
       HRC011DK: D2       EQU   2                                                        07055000
       HRC011DK: D3       EQU   3                                                        07056000
       HRC011DK: D4       EQU   4                                                        07057000
       HRC011DK: D5       EQU   5                                                        07058000
       HRC011DK: D6       EQU   6                                                        07059000
       HRC011DK: D7       EQU   7                                                        07060000
       HRC011DK: D8       EQU   8                                                        07061000
       HRC011DK: D9       EQU   9                                                        07062000
       HRC011DK: D10      EQU   10                                                       07063000
       HRC011DK: D11      EQU   11                                                       07064000
       HRC011DK: D12      EQU   12                                                       07065000
       HRC011DK: D13      EQU   13                                                       07066000
       HRC011DK: D14      EQU   14                                                       07067000
       HRC011DK: D15      EQU   15                                                       07068000
       HRC011DK: D16      EQU   16                                                       07069000
       HRC011DK: D17      EQU   17                                                       07070000
       HRC011DK: D18      EQU   18                                                       07071000
       HRC011DK: D19      EQU   19                                                       07072000
       HRC011DK: D20      EQU   20                                                       07073000
       HRC011DK:          PSA                                                            07074000
       HRC011DK: UNSTAT   EQU   CSW+4          UNIT STATUS FROM CHANNEL STATUS           07075000
       HRC011DK:          SPACE ,                                                        07076000
       HRC011DK:          END   DMKFMT                                                   07077000
 BEGIN APPLY >>> ./ R 00001000 03294000 $ 1990 990                     03/02/06 19:30:26
VMFApply WARNING - Error 0x00000009 Source VM370Metabase Description Subscript out of range
Output Written to 'C:\Users\sjzop\AppData\Local\Temp\dmkfmt.assemble.maint(394).latest.txt'
>>>>> VMFApply COMPLETE - Execution Time 242 milliseconds.