         << LINES .001/.009 ARE RESERVED FOR SYSTEMS INTEGRATION >>     00000001
          NCORESIZES = 60, << # OF LEGAL MEMORY SIZES>>        <<09311>>00126000
          TAPESIOBUFSIZE=154, <<SIO PROGRAM BUFFER FOR TAPE>>  <<M9297>>00346000
          LASTLOADOPT    = 28,  << LAST LOAD OPTION      >>    <<i9137>>01493000
                     ABSOLUTE( %1423)#,                        <<M9297>>02066000
          LASTTAPEDRT = ABSOLUTE( %1425)#;                     <<M9297>>02067000
          PFAILSTACK=  %4000,        <<POWER FAIL STACK>>               02134000
          <<------------------------------------>>             <<C9394>>02754100
          <<  DIRECTORY CACHE CONTROL COMMANDS  >>             <<C9394>>02754200
          <<------------------------------------>>             <<C9394>>02754300
                                                               <<C9394>>02754400
  EQUATE  CACHE'INIT     = 0,                                  <<C9394>>02754500
          CACHE'ENABLE   = 1,                                  <<C9394>>02754600
          CACHE'DISABLE  = 2,                                  <<C9394>>02754700
          CACHE'INTEGON  = 3,                                  <<C9394>>02754800
          CACHE'INTEGOFF = 4,                                  <<C9394>>02754900
          CACHE'FLUSH    = 5,                                  <<C9394>>02755000
          CACHE'CLOSE    = 6;                                  <<C9394>>02755100
                                                               <<C9394>>02755200
   M36     = 36,                                               <<M9297>>03135000
   M139    = 139,                                              <<D9191>>03213000
   M279    = 279,                                              <<C9394>>03267000
   M336    = 336,                                              <<F9416>>03301000
   M2474   = 2474,                                             <<*9190>>03737000
   M2475   = 2475,                                             << 9427>>03737010
 EQUATE NR'FOSFILES = 2;                                       <<i9137>>04678000
       "AUTOINST",  "INSTCAT ";                                <<i9137>>04682000
EQUATE MAXBANKS          = 256,                                <<39514>>05212000
INTEGER PROCEDURE DIRCACHECTL( FUNCTION, PARM);                <<C9394>>06628100
   VALUE FUNCTION, PARM;                                       <<C9394>>06628200
   INTEGER FUNCTION, PARM;                                     <<C9394>>06628300
   OPTION VARIABLE,EXTERNAL;                                   <<C9394>>06628400
                                                               <<C9394>>06628500
INTEGER PROCEDURE DFSIO( FUNCTION, LDEV, DISCADR, BUF, WORDS); <<F9416>>06628600
   VALUE FUNCTION, LDEV, DISCADR, WORDS;                       <<F9416>>06628700
   INTEGER FUNCTION, LDEV, WORDS;                              <<F9416>>06628800
   DOUBLE DISCADR;                                             <<F9416>>06628900
   ARRAY BUF;                                                  <<F9416>>06629000
   OPTION EXTERNAL;                                            <<F9416>>06629010
                                                               <<F9416>>06629100
INTEGER PROCEDURE DFSCACHECTL( FUNCTION, LDEV, DISCADR);       <<F9416>>06629200
   VALUE FUNCTION, LDEV, DISCADR;                              <<F9416>>06629300
   INTEGER FUNCTION, LDEV;                                     <<F9416>>06629400
   DOUBLE DISCADR;                                             <<F9416>>06629500
   OPTION EXTERNAL, VARIABLE;                                  <<F9416>>06629600
                                                               <<F9416>>06629700
if 1 <= ldev <= 999   then                                     << 9135>>11216000
   begin                                                       << 9135>>11218000
   dvr'index := ldev * dvrsize;                                << 9135>>11220000
   if ldev <= hldev and                                        << 9135>>11222000
      dvrdrtnum <> 0 or dvrdsbit = 1   then                    << 9135>>11224000
      ldev'exists := true;                                     << 9135>>11226000
   end;                                                        << 9135>>11228000
end;   << LDEV'EXISTS >>                                       << 9135>>11229000
              ASSEMBLE(EXIT 7);   <<GET RID OF RETURN VALUE>>  <<09482>>15586000
$EDIT VOID=18818000                                            <<B9231>>18816000
   CDB'SET'OPTIONS    = %70,                                   <<B9231>>18847000
INTEGER SUBROUTINE SET'CMD'BYTES( RECORD, COUNT, CMD);         <<B9231>>19446000
VALUE RECORD, COUNT, CMD;                                      <<B9231>>19448000
   COUNT,       << NO. OF BYTES TO READ/WRITE >>               <<B9231>>19456000
   CMD;         << READ/WRITE COMMAND >>                       <<B9231>>19457000
I := CDB'AREA'BYTE-1;                                          <<B9231>>19463000
CPB(I:=I+1) := CDB'SET'UNIT;                                   <<B9231>>19464000
CPB(I:=I+1) := CDB'SET'VOL;                                    <<B9231>>19466000
IF STYPE = BUFFALO THEN                                        <<B9231>>19466100
   BEGIN                                                       <<B9231>>19466200
   CPB(I:=I+1) := CDB'SET'OPTIONS;                             <<B9231>>19466300
   CPB(I:=I+1) := %10;  << SET READ AHEAD >>                   <<B9231>>19466400
   END;                                                        <<B9231>>19466500
CPB(I:=I+1) := CDB'SET'SNGL'VEC;                               <<B9231>>19468000
CPB(I:=I+1) := 0;                                              <<B9231>>19470000
CPB(I:=I+1) := 0;                                              <<B9231>>19472000
@TEMP := @RECORD&LSL(1);                                       <<B9231>>19474000
CPB(I:=I+1) := TEMP(0);                                        <<B9231>>19476000
CPB(I:=I+1) := TEMP(1);                                        <<B9231>>19478000
CPB(I:=I+1) := TEMP(2);                                        <<B9231>>19480000
CPB(I:=I+1) := TEMP(3);                                        <<B9231>>19482000
CPB(I:=I+1) := CDB'SET'LENGTH;                                 <<B9231>>19484000
CPB(I:=I+1) := 0;                                              <<B9231>>19486000
CPB(I:=I+1) := 0;                                              <<B9231>>19488000
CPB(I:=I+1) := COUNT.(0:8);                                    <<B9231>>19490000
CPB(I:=I+1) := COUNT.(8:8);                                    <<B9231>>19492000
CPB(I:=I+1) := CMD;                                            <<B9231>>19493000
SET'CMD'BYTES := I-CDB'AREA'BYTE+1;                            <<B9231>>19493500
$EDIT VOID=19924000                                            <<B9231>>19920000
<< FILL COMMAND BUFFER >>                                      <<B9231>>19921000
CP(DX'CMD'MSGLEN) := SET'CMD'BYTES(RECORD,COUNT,CDB'READ);     <<B9231>>19922000
$EDIT VOID=19958000                                            <<B9231>>19956000
$EDIT VOID=19994000                                            <<B9231>>19990000
<< FILL COMMAND BUFFER >>                                      <<B9231>>19991000
CP(DX'CMD'MSGLEN) := SET'CMD'BYTES(RECORD,COUNT,CDB'WRITE);    <<B9231>>19992000
$EDIT VOID=20028000                                            <<B9231>>20026000
      ELSE IF STATUS(FAULT'FIELD).RETRANSMIT   OR              <<09483>>21122000
         STATUS(REJECT'FIELD).CHAN'PARITY      OR              <<09483>>21124000
         STATUS(FAULT'FIELD).CROSS'UNIT        OR              <<09483>>21126000
         STATUS(FAULT'FIELD).CTRL'FAULT        OR              <<09483>>21128000
         STATUS(FAULT'FIELD).UNIT'FAULT        OR              <<09483>>21130000
         STATUS(FAULT'FIELD).DIAG'FAILED       THEN            <<09483>>21131000
         PUSH'STACK(CURFUNCT)              << RETRY REQUEST >> <<09483>>21132000
      ELSE IF STATUS(REJECT'FIELD).ILLEG'OPCODE OR             <<09483>>21134000
         STATUS(REJECT'FIELD).MOD'ADDR'ERR      OR             <<09483>>21136000
         STATUS(REJECT'FIELD).ADDR'BOUND        OR             <<09483>>21138000
         STATUS(REJECT'FIELD).PARM'BOUND        OR             <<09483>>21140000
         STATUS(REJECT'FIELD).ILLEG'PARM        OR             <<09483>>21142000
         STATUS(REJECT'FIELD).MSG'SEQ'VIOL      OR             <<09483>>21144000
         STATUS(REJECT'FIELD).MSG'LEN'DIFF      THEN           <<09483>>21146000
         GOTO REJECT'ERROR                                     <<09483>>21148000
      ELSE IF STATUS(FAULT'FIELD).OPER'REL'REQRD OR            <<09483>>21150000
         STATUS(FAULT'FIELD).DIAG'REL'REQRD      OR            <<09483>>21152000
         STATUS(FAULT'FIELD).POWER'FAIL          THEN          <<09483>>21154000
$EDIT VOID=21162000                                            <<09483>>21160000
        <<ADD A DELAY OF 10 MS BECAUSE THE 7974/8 TAPE>>       <<D9121>>25383010
        <<DRIVES ARE TOO SLOW.  THEY WERE HANGING DURING>>     <<D9121>>25383020
        <<A RELOAD AFTER REWINDING THE TAPE. SR#4700-114439>>  <<D9121>>25383030
        DELAY (10D);                                           <<D9121>>25383040
$EDIT VOID=26566000                                            <<M9297>>26550005
INTEGER PROCEDURE MT7974( FUNCTION, BUF, WORDS);               <<M9297>>26550010
   VALUE FUNCTION, WORDS;                                      <<M9297>>26550020
   INTEGER FUNCTION, WORDS;                                    <<M9297>>26550030
   ARRAY BUF;                                                  <<M9297>>26550040
   OPTION VARIABLE;                                            <<M9297>>26550050
BEGIN                                                          <<M9297>>26550060
   COMMENT                                                     <<M9297>>26550070
                                                               <<M9297>>26550080
    FUNCTION = 0 - READ                                        <<M9297>>26550090
               1 - REWIND/OFFLINE                              <<M9297>>26550100
               2 - FORWARD SPACE FILE                          <<M9297>>26550110
               3 - WAIT FOR TAPE READY.                        <<M9297>>26550120
               4 - SELECT IMMEDIATE REPORTING                  <<M9297>>26550130
                                                               <<M9297>>26550140
    RETURNS                                                    <<M9297>>26550150
          CC = CCE - REQUEST COMPLETED                         <<M9297>>26550160
               CCG - EOF READ.                                 <<M9297>>26550170
               CCL - TRANSFER ERROR.                           <<M9297>>26550180
                                                               <<M9297>>26550190
    FUNCTION RETURN = TRANSFER COUNT ON SUCCESSFULL COMPLETION <<M9297>>26550200
                    = ERROR NUMBER AND CCL ON IRRECOVERABLE    <<M9297>>26550210
                      ERRORS.                                  <<M9297>>26550220
                                                               <<M9297>>26550230
                                                               <<M9297>>26550240
                                                               <<M9297>>26550250
MAG TAPE CONTROLLER STATUS                                     <<M9297>>26550260
                                                               <<M9297>>26550270
  BITS         USE                                             <<M9297>>26550280
                                                               <<M9297>>26550290
    0     END OF FILE                                          <<M9297>>26550300
                                                               <<M9297>>26550310
    1     BEGINNING OF TAPE                                    <<M9297>>26550320
    2     END OF TAPE                                          <<M9297>>26550330
    3     SINGLE TRACK ERROR (NOT LOGGED FOR READS)            <<M9297>>26550340
                                                               <<M9297>>26550350
    4     COMMAND REJECT                                       <<M9297>>26550360
    5     FILE PROTECT                                         <<M9297>>26550370
    6     MULTIPLE TRACK ERROR                                 <<M9297>>26550380
                                                               <<M9297>>26550390
    7     UNIT ONLINE                                          <<M9297>>26550400
    8     GCR (6250 BPI) MODE                                  <<M9297>>26550410
    9     UNKNOWN DENSITY                                      <<M9297>>26550420
                                                               <<M9297>>26550430
   10     DATA PARITY ERROR                                    <<M9297>>26550440
   11     TIMING ERROR                                         <<M9297>>26550450
   12     TAPE RUNAWAY                                         <<M9297>>26550460
                                                               <<M9297>>26550470
   13     DOOR OPEN                                            <<M9297>>26550480
   14     NOT USED                                             <<M9297>>26550490
   15     IMMEDIATE REPORT ENABLE                              <<M9297>>26550500
>>                                                             <<M9297>>26550510
                                                               <<M9297>>26550520
<< Word 2 of Status                                            <<M9297>>26550530
                                                               <<M9297>>26550540
  BITS         USE                                             <<M9297>>26550550
                                                               <<M9297>>26550560
    0     PE (1600 BPI DENSITY)                                <<M9297>>26550570
                                                               <<M9297>>26550580
    1     NRZI (800 BPI DENSITY)                               <<M9297>>26550590
    2     Power has been restored                              <<M9297>>26550600
    3     Parity error                                         <<M9297>>26550610
                                                               <<M9297>>26550620
    4     Position unrecovered                                 <<M9297>>26550630
    5     FCU/MTU error (isolation)                            <<M9297>>26550640
    6     Interface Controller Unit Error(isolation incl FCU s.<<M9297>>26550650
                                                               <<M9297>>26550660
    7     Interface Controller Unit Error(isolation incl PHI s.<<M9297>>26550670
    8-10  Error Details (binary)                               <<M9297>>26550680
          000 Null code                                        <<M9297>>26550690
          001 RESERVED                                         <<M9297>>26550700
          010 DEVICE REJECT                                    <<M9297>>26550710
          011 PROTOCOL REJECT                                  <<M9297>>26550720
          101 Prior error reject                               <<M9297>>26550730
          110 RESERVED                                         <<M9297>>26550740
          111 SELFTEST FAILURE                                 <<M9297>>26550750
    11-15 Retry count                                          <<M9297>>26550760
                                                               <<M9297>>26550770
   Word 3 of status=additional info on specific error encounter<<M9297>>26550780
;                                                              <<M9297>>26550790
  EQUATE                                                       <<M9297>>26550800
                                                               <<M9297>>26550810
       << DRIVER FUNCTIONS >>                                  <<M9297>>26550820
                                                               <<M9297>>26550830
    READ         = 0,                                          <<M9297>>26550840
    UNLOAD       = 1,                                          <<M9297>>26550850
    FORWARDFILE  = 2,                                          <<M9297>>26550860
    WAIT         = 3,                                          <<M9297>>26550870
    IMMEDIATERPT = 4,                                          <<M9297>>26550880
                                                               <<M9297>>26550890
                                                               <<M9297>>26550900
       << MAG TAPE COMMANDS >>                                 <<M9297>>26550910
                                                               <<M9297>>26550920
    BACKREADCMD  = %17,                                        <<M9297>>26550930
    BSFILECMD    = %14,                                        <<M9297>>26550940
    BSRECORDCMD  = %12,                                        <<M9297>>26550950
    FSFILECMD    = %13,                                        <<M9297>>26550960
    FSRECORDCMD  = %11,                                        <<M9297>>26550970
    READCMD      = %10,                                        <<M9297>>26550980
    REWINDCMD    = %15,                                        <<M9297>>26550990
    REWUNLDCMD   = %16,                                        <<M9297>>26551000
    TAPEGAPCMD   =   7,                                        <<M9297>>26551010
    WRITECMD     =   5,                                        <<M9297>>26551020
    WRTFMARKCMD  =   6,                                        <<M9297>>26551030
    SELUNITCMD   =   0, << 7974/7978 PROTOCOL >>               <<M9297>>26551040
    SETDENSHIC   = %20,                                        <<M9297>>26551050
    SETDENSLOC   = %21,                                        <<M9297>>26551060
    DEVCLEAR     = %30,                                        <<M9297>>26551070
    IMMREPORT    = %27,                                        <<M9297>>26551080
                                                               <<M9297>>26551090
            << CHANNEL PROGRAM ARRAY POINTERS >>               <<M9297>>26551100
                                                               <<M9297>>26551110
    BADDR'RC     = 33,  << BUFFER ADDRESS FOR TRFER CNT READ >><<M9297>>26551120
    BADDR1       = 18,  << BUFFER ADDRESS FOR 1ST DATA BURST >><<M9297>>26551130
    BADDR2       = 98,  << BUFFER ADDRESS FOR 2ND DATA BURST >><<M9297>>26551140
    RDBYCNT      = 15,  << READ BYTE COUNT>>                   <<M9297>>26551150
    WRBYCNT      = 95,  << WRITE BYTE COUNT >>                 <<M9297>>26551160
    CMDWORD      = 142, << MOTION COMMAND WORD >>              <<M9297>>26551170
    CPSTAT       = 34,  << BEGIN OF CHAN PROG STATUS ROUTINE >><<M9297>>26551180
    ENDCMD       = 144, << END COMMAND >>                      <<M9297>>26551190
    IDLE         = 106,  << BEGINNING OF IDLE CHANNEL PRGM >>  <<M9297>>26551200
    MEMX'RC      = 32,  << BANK ADDRESS FOR TRFER CNT READ >>  <<M9297>>26551210
    MEMX1        = 17,  << BANK ADDRESS FOR 1ST DATA BURST >>  <<M9297>>26551220
    MEMX2        = 97,  << BANK ADDRESS FOR 2ND DATA BURST >>  <<M9297>>26551230
    SPFDCMD      = 143, << STOP POLLING FOR DATA COMMAND >>    <<M9297>>26551240
    SRBUFF       = 148, << SHORT READ BUFFER >>                <<M9297>>26551250
    STATUS       = 145, << I/O STATUS BUFFER >>                <<M9297>>26551260
    STATUS'ONE   = 146, << I/O STATUS BUFER WORD ONE >>        <<M9297>>26551270
    IDLEND       = 152, << END CMD FOR IDLE CHAM PGM >>        <<M9297>>26551280
    XFERCNTBUF   = 153, << XFER COUNT BUFFER >>                <<M9297>>26551290
    CPWAITEND    = 87,  << WAIT AND END >>                     <<M9297>>26551310
    CPCLEAR      = 109, << CLEAR POWER ON STATUS >>            <<M9297>>26551320
    CPWRITEEND   = 113, << WRITE END COMMAND >>                <<M9297>>26551330
  ENDEQ          =     0;                                      <<M9297>>26551340
                                                               <<M9297>>26551350
                                                               <<M9297>>26551360
         << MISCELLANEOUS BIT DEFINITIONS >>                   <<M9297>>26551370
                                                               <<M9297>>26551380
  DEFINE                                                       <<M9297>>26551390
    BANKAD       = ( 8:8)#,  << BANK ADDRESS FIELD >>          <<M9297>>26551400
    BLOCKCNT     = ( 8:4)#,  << CPBUF,DATA CHAIN BLK CNT FIELD><<M9297>>26551410
    ERRORCODE    = ( 0:3)#,  << CPVA, ERROR CODE FIELD >>      <<M9297>>26551420
    TIMEDOUT     = (13:1)#,  << CPVA, TIMED OUT TFER ABORT >>  <<M9297>>26551430
  ENDDEF         = 0#;                                         <<M9297>>26551440
                                                               <<M9297>>26551450
ARRAY CHAN'PGM(*) = PB :=                                      <<M9297>>26551460
                                                               <<M9297>>26551470
<< ************** >>                                           <<M9297>>26551480
<< Jump to start. >>                                           <<M9297>>26551490
<< ************** >>                                           <<M9297>>26551500
                                                               <<M9297>>26551510
<< 0   >>       0,                                             <<M9297>>26551520
<< 1   >>       0, << CSTART'JVEC.>>                           <<M9297>>26551530
                                                               <<M9297>>26551540
<< ************************************** >>                   <<M9297>>26551550
<< Read record and tape command requests. >>                   <<M9297>>26551560
<< ************************************** >>                   <<M9297>>26551570
                                                               <<M9297>>26551580
<< Send READ record or Tape Command >>                         <<M9297>>26551590
<< 2   >>   %2001,                                             <<M9297>>26551600
<< 3   >>       1,                                             <<M9297>>26551610
<< 4   >>       0,                                             <<M9297>>26551620
<< 5   >>  %42000,                                             <<M9297>>26551630
<< 6   >>       0, << CTAPE'CMD'ADR >>                         <<M9297>>26551640
                                                               <<M9297>>26551650
<< Wait for parallel poll. >>                                  <<M9297>>26551660
<< 7   >>   %1000,                                             <<M9297>>26551670
<< 8   >>       0,                                             <<M9297>>26551680
                                                               <<M9297>>26551690
<< DSJ, check status of command. >>                            <<M9297>>26551700
<< 9   >>   %2402,                                             <<M9297>>26551710
<< 10  >>       0,                                             <<M9297>>26551720
<< 11  >>       0, << CCMD'DSJ0.>> << DSJ 0 returned.>>        <<M9297>>26551730
<< 12  >>      32,                 << DSJ 1 returned.>>        <<M9297>>26551740
<< 13  >>      44,                 << DSJ 2 returned.>>        <<M9297>>26551750
                                                               <<M9297>>26551760
<< Execute DMA tranfer to device   >>                          <<M9297>>26551770
<< 14  >>   %1400, << CRD'EXEC.    >>                          <<M9297>>26551780
<< 15  >>       0, << CRD'BYTE'CNT.>>                          <<M9297>>26551790
<< 16  >>       0,                                             <<M9297>>26551800
<< 17  >>       0, << CRD'BANK.    >>                          <<M9297>>26551810
<< 18  >>       0, << CRD'ADR.     >>                          <<M9297>>26551820
                                                               <<M9297>>26551830
<< Send END DATA command >>                                    <<M9297>>26551840
<< 19  >>   %2007, << CEND'DATA,    >>                         <<M9297>>26551850
                   << CDIAG'JUMP,   >>                         <<M9297>>26551860
                   << CLOOP'JUMP,   >>                         <<M9297>>26551870
                   << CTEST'JUMP,   >>                         <<M9297>>26551880
                   << CLOG'JUMP,    >>                         <<M9297>>26551890
                   << CFIRM'JUMP.   >>                         <<M9297>>26551900
<< 20  >>       1, << CEND'DATA'CNT,>>                         <<M9297>>26551910
                   << CDIAG'JVEC,   >>                         <<M9297>>26551920
                   << CLOOP'JVEC.   >>                         <<M9297>>26551930
                   << CTEST'JVEC.   >>                         <<M9297>>26551940
                   << CLOG'JVEC.    >>                         <<M9297>>26551950
                   << CFIRM'JVEC.   >>                         <<M9297>>26551960
<< 21  >>       0,                                             <<M9297>>26551970
<< 22  >>  %42000,                                             <<M9297>>26551980
<< 23  >>       0, << CEND'DATA'ADR >>                         <<M9297>>26551990
                                                               <<M9297>>26552000
<< DSJ, check status of DMA transfer >>                        <<M9297>>26552010
<< 24  >>   %2402,                                             <<M9297>>26552020
<< 25  >>       0,                                             <<M9297>>26552030
<< 26  >>       0, << DSJ 0 returned.>>                        <<M9297>>26552040
<< 27  >>      17, << DSJ 1 returned.>>                        <<M9297>>26552050
<< 28  >>      17, << DSJ 2 returned.>>                        <<M9297>>26552060
                                                               <<M9297>>26552070
<< Read actual byte count. >>                                  <<M9297>>26552080
<< 29  >>   %1402,                                             <<M9297>>26552090
<< 30  >>       2,                                             <<M9297>>26552100
<< 31  >>       0,                                             <<M9297>>26552110
<< 32  >>   %2000,                                             <<M9297>>26552120
<< 33  >>       0, << CACT'CNT'ADR >>                          <<M9297>>26552130
                                                               <<M9297>>26552140
<< ************************* >>                                <<M9297>>26552150
<< Interrupt, halt code = 0. >>                                <<M9297>>26552160
<< ************************* >>                                <<M9297>>26552170
                                                               <<M9297>>26552180
<< Read device status. >>                                      <<M9297>>26552190
<< 34  >>   %1401,                                             <<M9297>>26552200
<< 35  >>       6,                                             <<M9297>>26552210
<< 36  >>       0,                                             <<M9297>>26552220
<< 37  >>   %2000,                                             <<M9297>>26552230
<< 38  >>       0, << CSTAT1'ADR.>>                            <<M9297>>26552240
                                                               <<M9297>>26552250
<< Send END COMPLETE command. >>                               <<M9297>>26552260
<< 39  >>   %2007, << End complete.    >>                      <<M9297>>26552270
<< 40  >>       1,                                             <<M9297>>26552280
<< 41  >>       0,                                             <<M9297>>26552290
<< 42  >>  %42000,                                             <<M9297>>26552300
<< 43  >>       0, << CEND'CMPL1'ADR.>>                        <<M9297>>26552310
                                                               <<M9297>>26552320
<< Interrupt. >>                                               <<M9297>>26552330
<< 44  >>    %601,                                             <<M9297>>26552340
<< 45  >>       0, << Halt code.>>                             <<M9297>>26552350
                                                               <<M9297>>26552360
<< ************************* >>                                <<M9297>>26552370
<< Interrupt, halt code = 1. >>                                <<M9297>>26552380
<< ************************* >>                                <<M9297>>26552390
                                                               <<M9297>>26552400
<< Read device status. >>                                      <<M9297>>26552410
<< 46  >>   %1401,                                             <<M9297>>26552420
<< 47  >>       6,                                             <<M9297>>26552430
<< 48  >>       0,                                             <<M9297>>26552440
<< 49  >>   %2000,                                             <<M9297>>26552450
<< 50  >>       0, << CSTAT2'ADR >>                            <<M9297>>26552460
                                                               <<M9297>>26552470
<< Send END COMPLETE command. >>                               <<M9297>>26552480
<< 51  >>   %2007, << End complete.    >>                      <<M9297>>26552490
<< 52  >>       1,                                             <<M9297>>26552500
<< 53  >>       0,                                             <<M9297>>26552510
<< 54  >>  %42000,                                             <<M9297>>26552520
<< 55  >>       0, << CEND'CMPL2'ADR.>>                        <<M9297>>26552530
                                                               <<M9297>>26552540
<< Interrupt. >>                                               <<M9297>>26552550
<< 56  >>    %601,                                             <<M9297>>26552560
<< 57  >>       1, << Halt code.>>                             <<M9297>>26552570
                                                               <<M9297>>26552580
<< ************************* >>                                <<M9297>>26552590
<< Interrupt, halt code = 2. >>                                <<M9297>>26552600
<< ************************* >>                                <<M9297>>26552610
                                                               <<M9297>>26552620
<< Read device status. >>                                      <<M9297>>26552630
<< 58  >>   %1401,                                             <<M9297>>26552640
<< 59  >>       6,                                             <<M9297>>26552650
<< 60  >>       0,                                             <<M9297>>26552660
<< 61  >>   %2000,                                             <<M9297>>26552670
<< 62  >>       0, << CSTAT3'ADR.>>                            <<M9297>>26552680
                                                               <<M9297>>26552690
<< Send END COMPLETE command. >>                               <<M9297>>26552700
<< 63  >>   %2007,                                             <<M9297>>26552710
<< 64  >>       1,                                             <<M9297>>26552720
<< 65  >>       0,                                             <<M9297>>26552730
<< 66  >>  %42000,                                             <<M9297>>26552740
<< 67  >>       0, << CEND'CMPL3'ADR.>>                        <<M9297>>26552750
                                                               <<M9297>>26552760
<< Interrupt. >>                                               <<M9297>>26552770
<< 68  >>    %601,                                             <<M9297>>26552780
<< 69  >>       2, << Halt code.>>                             <<M9297>>26552790
                                                               <<M9297>>26552800
<< ************************* >>                                <<M9297>>26552810
<< Interrupt, halt code = 3. >>                                <<M9297>>26552820
<< ************************* >>                                <<M9297>>26552830
                                                               <<M9297>>26552840
<< Read device status. >>                                      <<M9297>>26552850
<< 70  >>   %1401,                                             <<M9297>>26552860
<< 71  >>       6,                                             <<M9297>>26552870
<< 72  >>       0,                                             <<M9297>>26552880
<< 73  >>   %2000,                                             <<M9297>>26552890
<< 74  >>       0, << CSTAT4'ADR >>                            <<M9297>>26552900
                                                               <<M9297>>26552910
<< Send END COMPLETE command. >>                               <<M9297>>26552920
<< 75  >>   %2007,                                             <<M9297>>26552930
<< 76  >>       1,                                             <<M9297>>26552940
<< 77  >>       0,                                             <<M9297>>26552950
<< 78  >>  %42000,                                             <<M9297>>26552960
<< 79  >>       0, << CEND'CMPL4'ADR.>>                        <<M9297>>26552970
                                                               <<M9297>>26552980
<< Interrupt. >>                                               <<M9297>>26552990
<< 80  >>    %601,                                             <<M9297>>26553000
<< 81  >>       3, << Halt code.>>                             <<M9297>>26553010
                                                               <<M9297>>26553020
<< ********************************* >>                        <<M9297>>26553030
<< Write record or Identify request. >>                        <<M9297>>26553040
<< ********************************* >>                        <<M9297>>26553050
                                                               <<M9297>>26553060
<< Send WRITE record or IDENTIFY command. >>                   <<M9297>>26553070
<< 82  >>   %2001, << CWR'CMD,      >>                         <<M9297>>26553080
                   << CIDENTIFY.    >>                         <<M9297>>26553090
<< 83  >>       2, << CWR'CMD'CNT,  >>                         <<M9297>>26553100
                   << CIDENT'CODE.  >>                         <<M9297>>26553110
<< 84  >>       0, << Identify jump.>>                         <<M9297>>26553120
<< 85  >>   %2000, << CWR'CMD'BANK, >>                         <<M9297>>26553130
                   << CIDENT'JVEC.  >>                         <<M9297>>26553140
<< 86  >>       0, << CWR'CMD'ADR.  >>                         <<M9297>>26553150
                                                               <<M9297>>26553160
<< Wait for parallel poll. >>                                  <<M9297>>26553170
<< 87  >>   %1000,                                             <<M9297>>26553180
<< 88  >>       0,                                             <<M9297>>26553190
                                                               <<M9297>>26553200
<< DSJ, check status of command. >>                            <<M9297>>26553210
<< 89  >>   %2402,                                             <<M9297>>26553220
<< 90  >>       0,                                             <<M9297>>26553230
<< 91  >>       0, << CWR'CMD'DSJ0,>>                          <<M9297>>26553240
                   << CIDENT'DSJ0. >>                          <<M9297>>26553250
<< 92  >>     -48,                                             <<M9297>>26553260
<< 93  >>     -36,                                             <<M9297>>26553270
                                                               <<M9297>>26553280
<< Execute DMA transfer to device. >>                          <<M9297>>26553290
<< 94  >>   %2000, << CWR'EXEC.    >>                          <<M9297>>26553300
<< 95  >>       0, << CWR'BYTE'CNT.>>                          <<M9297>>26553310
<< 96  >>       0,                                             <<M9297>>26553320
<< 97  >>       0, << CWR'BANK.    >>                          <<M9297>>26553330
<< 98  >>       0, << CWR'ADR.     >>                          <<M9297>>26553340
                                                               <<M9297>>26553350
<< Wait for parallel poll. >>                                  <<M9297>>26553360
<< 99  >>   %1000,                                             <<M9297>>26553370
<< 100 >>       0,                                             <<M9297>>26553380
                                                               <<M9297>>26553390
<< DSJ, check status of DMA transfer. >>                       <<M9297>>26553400
<< 101 >>   %2402,                                             <<M9297>>26553410
<< 102 >>       0,                                             <<M9297>>26553420
<< 103 >>     -72, << CWR'DSJ0.>>                              <<M9297>>26553430
<< 104 >>     -60, << CWR'DSJ1.>>                              <<M9297>>26553440
<< 105 >>     -36, << CWR'DSJ2.>>                              <<M9297>>26553450
                                                               <<M9297>>26553460
<< ********************* >>                                    <<M9297>>26553470
<< Idle Channel Program. >>                                    <<M9297>>26553480
<< ********************* >>                                    <<M9297>>26553490
                                                               <<M9297>>26553500
<< Send END IDLE command. >>                                   <<M9297>>26553510
<< 106 >>   %2007, << CIDLE'CP,       >>                       <<M9297>>26553520
                   << CEND'IDLE,      >>                       <<M9297>>26553530
                   << CCLEAR.         >>                       <<M9297>>26553540
<< 107 >>       1, << CEND'IDLE'CNT,  >>                       <<M9297>>26553550
                   << CCLEAR'WD2.     >>                       <<M9297>>26553560
<< 108 >>       0, << CEND'IDLE'WORD3,>>                       <<M9297>>26553570
                   << CCLEAR'JUMP.    >>                       <<M9297>>26553580
<< 109 >>  %42000, << CEND'IDLE'BANK, >>                       <<M9297>>26553590
                   << CCLEAR'JVEC.    >>                       <<M9297>>26553600
<< 110 >>       0, << CEND'IDLE'ADR.  >>                       <<M9297>>26553610
                                                               <<M9297>>26553620
<< Wait for parallel poll. >>                                  <<M9297>>26553630
<< 111 >>   %1000,                                             <<M9297>>26553640
<< 112 >>       0,                                             <<M9297>>26553650
                                                               <<M9297>>26553660
<< DSJ, check idle device status. >>                           <<M9297>>26553670
<< 113 >>   %2402, << CIDLE'DSJ,       >>                      <<M9297>>26553680
                   << CEND'DIAG.       >>                      <<M9297>>26553690
<< 114 >>       0, << CEND'DIAG'CODE.  >>                      <<M9297>>26553700
<< 115 >>       0, << DSJ 0 returned.  >>                      <<M9297>>26553710
<< 116 >>      12, << DSJ 1 returned.  >>                      <<M9297>>26553720
<< 117 >>      12, << DSJ 2 returned.  >>                      <<M9297>>26553730
                                                               <<M9297>>26553740
<< ************************ >>                                 <<M9297>>26553750
<< Interrupt, halt code = 0.>>                                 <<M9297>>26553760
<< ************************ >>                                 <<M9297>>26553770
                                                               <<M9297>>26553780
<< Read device status. >>                                      <<M9297>>26553790
<< 118 >>   %1401,                                             <<M9297>>26553800
<< 119 >>       6,                                             <<M9297>>26553810
<< 120 >>       0,                                             <<M9297>>26553820
<< 121 >>   %2000,                                             <<M9297>>26553830
<< 122 >>       0, << CIDLE'STAT1'ADR.>>                       <<M9297>>26553840
                                                               <<M9297>>26553850
<< Send END COMPLETE command. >>                               <<M9297>>26553860
<< 123 >>   %2007,                                             <<M9297>>26553870
<< 124 >>       1,                                             <<M9297>>26553880
<< 125 >>       0,                                             <<M9297>>26553890
<< 126 >>  %42000,                                             <<M9297>>26553900
<< 127 >>       0, << CEND'CMPL5'ADR.>>                        <<M9297>>26553910
                                                               <<M9297>>26553920
<< Interrupt. >>                                               <<M9297>>26553930
<< 128 >>    %601,                                             <<M9297>>26553940
<< 129 >>       0, << Halt code.>>                             <<M9297>>26553950
                                                               <<M9297>>26553960
<< ************************* >>                                <<M9297>>26553970
<< Interrupt, halt code = 1. >>                                <<M9297>>26553980
<< ************************* >>                                <<M9297>>26553990
                                                               <<M9297>>26554000
<< Read device status. >>                                      <<M9297>>26554010
<< 130 >>   %1401,                                             <<M9297>>26554020
<< 131 >>       6,                                             <<M9297>>26554030
<< 132 >>       0,                                             <<M9297>>26554040
<< 133 >>   %2000,                                             <<M9297>>26554050
<< 134 >>       0, << CIDLE'STAT2'ADR >>                       <<M9297>>26554060
                                                               <<M9297>>26554070
<< Send END COMPLETE command. >>                               <<M9297>>26554080
<< 134 >>   %2007,                                             <<M9297>>26554090
<< 136 >>       1,                                             <<M9297>>26554100
<< 137 >>       0,                                             <<M9297>>26554110
<< 138 >>  %42000,                                             <<M9297>>26554120
<< 139 >>       0, << CEND'CMPL6'ADR.>>                        <<M9297>>26554130
                                                               <<M9297>>26554140
<< Interrupt. >>                                               <<M9297>>26554150
<< 140 >>    %601,                                             <<M9297>>26554160
<< 141 >>       1, << Halt code. >>                            <<M9297>>26554170
                                                               <<M9297>>26554180
<< ************************************** >>                   <<M9297>>26554190
<< Miscellaneous channel program storage. >>                   <<M9297>>26554200
<< ************************************** >>                   <<M9297>>26554210
                                                               <<M9297>>26554220
<< 142 >>       0, << CTAPE'CMD.       >>                      <<M9297>>26554230
<< 143 >>       2, << CEND'DATA'CMD.   >>                      <<M9297>>26554240
<< 144 >>     %10, << CEND'CMPL'CMD.   >>                      <<M9297>>26554250
<< 145 >>       0, << CDEVSTAT1.       >>                      <<M9297>>26554260
<< 146 >>       0, << CDEVSTAT2.       >>                      <<M9297>>26554270
<< 147 >>       0, << CDEVSTAT3.       >>                      <<M9297>>26554280
<< 148 >>       0, << CSHORT'BUF1.     >>                      <<M9297>>26554290
<< 149 >>       0, << CSHORT'BUF2.     >>                      <<M9297>>26554300
<< 150 >>       0, << CSHORT'BUF3.     >>                      <<M9297>>26554310
<< 151 >>       0, << CACT'CNT.        >>                      <<M9297>>26554320
<< 152 >>       4, << CEND'IDLE'CMD.   >>                      <<M9297>>26554330
<< 153 >>       0; << XFER COUNT BUFFER >>                     <<M9297>>26554340
                                                               <<M9297>>26554350
   EQUATE                                                      <<M9297>>26554360
      CPLEN     = 154;                                         <<M9297>>26554370
                                                               <<M9297>>26554380
   BYTE POINTER                                                <<M9297>>26554390
      BPS0    = S-0;                                           <<M9297>>26554400
                                                               <<M9297>>26554410
   INTEGER ARRAY                                               <<M9297>>26554420
      CPBUF(0:CPLEN),                                          <<M9297>>26554430
      CPVA(0:6) = Q;                                           <<M9297>>26554440
                                                               <<M9297>>26554450
   LOGICAL   << HOLDS THE CURRENT DEVICE STATUS >>             <<M9297>>26554460
      DEVSTATUS,                                               <<M9297>>26554470
      DEVSTATUS1,                                              <<M9297>>26554480
      DEVSTATUS2;                                              <<M9297>>26554490
                                                               <<M9297>>26554500
   INTEGER ARRAY                                               <<M9297>>26554510
      LOGTOPHY(*) =PB := READCMD,REWUNLDCMD,FSFILECMD,0,       <<M9297>>26554520
                         IMMREPORT;                            <<M9297>>26554530
                                                               <<M9297>>26554540
   DOUBLE                                                      <<M9297>>26554550
      MEMADDR;            << HOLDS ABSOLUTE BUFFER ADDRESS >>  <<M9297>>26554560
                                                               <<M9297>>26554570
   INTEGER                                                     <<M9297>>26554580
      XFERCNT,            << BUFFER BYTE COUNT >>              <<M9297>>26554590
      TAPECMD,            << MAGTAPE CTLR COMMAND CODE >>      <<M9297>>26554600
      LEN,                << MAG TAPE STATE >>                 <<M9297>>26554610
      SIOBASE,            << ABSOLUTE ADDRESS OF CPBUF >>      <<M9297>>26554620
      I,                                                       <<M9297>>26554630
      BANK,                                                    <<M9297>>26554640
      ADR,                                                     <<M9297>>26554650
      S0        = S-0,                                         <<M9297>>26554660
      S1        = S-1,                                         <<M9297>>26554670
      S2        = S-2,                                         <<M9297>>26554680
      S3        = S-3,                                         <<M9297>>26554690
      MQ1       = Q-1,                                         <<M9297>>26554700
      X         = X;                                           <<M9297>>26554710
                                                               <<M9297>>26554720
   EQUATE                                                      <<M9297>>26554730
      CCE       = 2,                                           <<M9297>>26554740
      CCG       = 0,                                           <<M9297>>26554750
      CCL       = 1;                                           <<M9297>>26554760
                                                               <<M9297>>26554770
   DEFINE                                                      <<M9297>>26554780
      EOF         = DEVSTATUS.(0:1)#,                          <<M9297>>26554790
      BOT         = DEVSTATUS.(1:1)#,                          <<M9297>>26554800
      EOT         = DEVSTATUS.(2:1)#,                          <<M9297>>26554810
      CMD'REJ     = DEVSTATUS.(4:1)#,                          <<M9297>>26554820
      WRTPROTECT  = DEVSTATUS.(5:1)#,                          <<M9297>>26554830
      TRACKERR    = DEVSTATUS.(6:1)#,                          <<M9297>>26554840
      ONLINE      = DEVSTATUS.(7:1)#,                          <<M9297>>26554850
      UNKNOWNDEN  = DEVSTATUS.(9:1)#,                          <<M9297>>26554860
      PARITYERR   = DEVSTATUS.(10:1)#,                         <<M9297>>26554870
      TIMINGERR   = DEVSTATUS.(11:1)#,                         <<M9297>>26554880
      TAPERUN     = DEVSTATUS.(12:1)#,                         <<M9297>>26554890
      DOOROPEN    = DEVSTATUS.(13:1)#,                         <<M9297>>26554900
      IMMRPT      = DEVSTATUS.(15:1)#;                         <<M9297>>26554910
                                                               <<M9297>>26554920
SUBROUTINE LAUNCH( ENTRYADR );                                 <<M9297>>26554930
   VALUE ENTRYADR;                                             <<M9297>>26554940
   INTEGER ENTRYADR;                                           <<M9297>>26554950
BEGIN                                                          <<M9297>>26554960
   ZEROABS( TEMP'CPVA, 8);                                     <<M9297>>26554970
   PUSH( DB );                                                 <<M9297>>26554980
   TOS := TOS + @CPBUF;                                        <<M9297>>26554990
   ADR := TOS;                                                 <<M9297>>26555000
   BANK := TOS;                                                <<M9297>>26555010
   MABS( 0, SIOBASE, BANK, ADR, CPLEN);                        <<M9297>>26555020
   SIOP( SYSTAPEDRT, SIOBASE+ENTRYADR);                        <<M9297>>26555030
   IF <> THEN ERRMESSAGE( M2, SYSTAPEDRT);                     <<M9297>>26555040
   WHILE GETDRT(SYSTAPEDRT,CHANSTAT).(0:2) <> 0 DO;            <<M9297>>26555050
   DEVSTATUS := ABS(SIOBASE+STATUS);                           <<M9297>>26555060
   DEVSTATUS1 := ABS(X:=X+1);                                  <<M9297>>26555070
   DEVSTATUS2 := ABS(X:=X+1);                                  <<M9297>>26555080
   PUSH( DB );                                                 <<M9297>>26555090
   TOS := TOS + @CPVA;                                         <<M9297>>26555100
   MABS( *, *, 0, TEMP'CPVA, 7);                               <<M9297>>26555110
END;                                                           <<M9297>>26555120
SUBROUTINE WAITFORREADY;                                       <<M9297>>26555130
BEGIN                                                          <<M9297>>26555140
   LAUNCH( CPSTAT );                                           <<M9297>>26555150
   WHILE NOT ONLINE DO                                         <<M9297>>26555160
      LAUNCH( IDLE );                                          <<M9297>>26555170
END;                                                           <<M9297>>26555180
                                                               <<M9297>>26555190
SUBROUTINE PRINTERROR;                                         <<M9297>>26555200
BEGIN                                                          <<M9297>>26555210
   MOVE BLINE :=                                               <<M9297>>26555220
    ("FUNC=000000 CPVA=000000 000000 ",                        <<M9297>>26555230
    "STATUS=000000 000000 000000 PTR=000000");                 <<M9297>>26555240
   NTOA( FUNCTION, 8, BLINE(10));                              <<M9297>>26555250
   NTOA( CPVA, 8, BLINE(22));                                  <<M9297>>26555260
   NTOA( CPVA(1), 8, BLINE(29));                               <<M9297>>26555270
   NTOA( DEVSTATUS, 8, BLINE(43));                             <<M9297>>26555280
   NTOA( DEVSTATUS1, 8, BLINE(50));                            <<M9297>>26555290
   NTOA( DEVSTATUS2, 8, BLINE(57));                            <<M9297>>26555300
   NTOA( GETDRT(SYSTAPEDRT,0)-SIOBASE, 8, BLINE(68));          <<M9297>>26555310
   PRINTLINE;                                                  <<M9297>>26555320
END;                                                           <<M9297>>26555330
                                                               <<M9297>>26555340
   SIOBASE := ABSOLUTE( TAPECHANPROG);                         <<M9297>>26555350
   TAPECMD := LOGTOPHY( FUNCTION);                             <<M9297>>26555360
   XFERCNT := WORDS*2;                                         <<M9297>>26555370
   PUSH( DB );                                                 <<M9297>>26555380
   TOS := TOS + @BUF;                                          <<M9297>>26555390
   MEMADDR := TOS;                                             <<M9297>>26555400
START:                                                         <<M9297>>26555410
   MOVE CPBUF := CHAN'PGM,(CPLEN);                             <<M9297>>26555420
   CPBUF(6) := LOGICAL(SIOBASE) + CMDWORD;                     <<M9297>>26555430
   CPBUF(86) := LOGICAL(SIOBASE) + CMDWORD;                    <<M9297>>26555440
   CPBUF(23) := LOGICAL(SIOBASE) + SPFDCMD;                    <<M9297>>26555450
   CPBUF(38) := LOGICAL(SIOBASE) + STATUS;                     <<M9297>>26555460
   CPBUF(50) := LOGICAL(SIOBASE) + STATUS;                     <<M9297>>26555470
   CPBUF(43) := LOGICAL(SIOBASE) + ENDCMD;                     <<M9297>>26555480
   CPBUF(55) := LOGICAL(SIOBASE) + ENDCMD;                     <<M9297>>26555490
   CPBUF(127):= LOGICAL(SIOBASE) + ENDCMD;                     <<M9297>>26555500
   CPBUF(110):= LOGICAL(SIOBASE) + IDLEND;                     <<M9297>>26555510
   CPBUF(122):= LOGICAL(SIOBASE) + STATUS;                     <<M9297>>26555520
   CPBUF(62) := LOGICAL(SIOBASE) + STATUS;                     <<M9297>>26555530
   CPBUF(67) := LOGICAL(SIOBASE) + ENDCMD;                     <<M9297>>26555540
   CPBUF(74) := LOGICAL(SIOBASE) + STATUS;                     <<M9297>>26555550
   CPBUF(79) := LOGICAL(SIOBASE) + ENDCMD;                     <<M9297>>26555560
   CPBUF(134) := LOGICAL(SIOBASE) + STATUS;                    <<M9297>>26555570
   CPBUF(139) := LOGICAL(SIOBASE) + ENDCMD;                    <<M9297>>26555580
   CPBUF(BADDR'RC) := LOGICAL(SIOBASE) + XFERCNTBUF;           <<M9297>>26555590
   CPBUF(CMDWORD) := TAPECMD;                                  <<M9297>>26555600
                                                               <<M9297>>26555610
   IF LASTTAPEDRT <> SYSTAPEDRT THEN                           <<M9297>>26555620
      BEGIN<< RESET PWR-ON STATUS; SET 7974/78 PROTOCOL >>     <<M9297>>26555630
      LASTTAPEDRT := SYSTAPEDRT;                               <<M9297>>26555640
      INIT( SYSTAPEDRT);                                       <<M9297>>26555650
      MOVE CPBUF( CPCLEAR) := (%4400,0);<< CLEAR >>            <<M9297>>26555660
      LAUNCH( CPCLEAR);                                        <<M9297>>26555670
      MT7974( IMMEDIATERPT, I, 0);                             <<M9297>>26555680
      GO START;                                                <<M9297>>26555690
      END;                                                     <<M9297>>26555700
                                                               <<M9297>>26555710
   IF FUNCTION = WAIT THEN                                     <<M9297>>26555720
      BEGIN                                                    <<M9297>>26555730
      WAITFORREADY;                                            <<M9297>>26555740
      CC := CCE;                                               <<M9297>>26555750
      RETURN;                                                  <<M9297>>26555760
      END;                                                     <<M9297>>26555770
                                                               <<M9297>>26555780
   IF FUNCTION = READ THEN                                     <<M9297>>26555790
      BEGIN  <<READ COMMAND>>                                  <<M9297>>26555800
      IF XFERCNT = 0 THEN                                      <<M9297>>26555810
         BEGIN                                                 <<M9297>>26555820
         TAPECMD := FSRECORDCMD;                               <<M9297>>26555830
         GO START;                                             <<M9297>>26555840
         END;                                                  <<M9297>>26555850
      TOS :=MEMADDR;  <<GET BUFFER ADDRESS>>                   <<M9297>>26555860
      CPBUF(BADDR1) :=TOS;  <<BUFFER>>                         <<M9297>>26555870
      CPBUF(MEMX1) :=TOS;         <<BANK>>                     <<M9297>>26555880
      CPBUF(RDBYCNT) :=XFERCNT;                                <<M9297>>26555890
                                                               <<M9297>>26555900
      END <<READ COMMAND>>                                     <<M9297>>26555910
   ELSE                                                        <<M9297>>26555920
      BEGIN   << MUST BE A CONTROL REQUEST! >>                 <<M9297>>26555930
      CPBUF(11) := 20;                                         <<M9297>>26555940
      END;                                                     <<M9297>>26555950
TRY'AGAIN:                                                     <<M9297>>26555960
                                                               <<M9297>>26555970
   LAUNCH( 0 );                                                <<M9297>>26555980
                                                               <<M9297>>26555990
   IF DOOROPEN THEN  <<DOOR OPEN?>>                            <<M9297>>26556000
      BEGIN                                                    <<M9297>>26556010
      MOVE BLINE := "CLOSE MAGTAPE DOOR";                      <<M9297>>26556020
      PRINTLINE;                                               <<M9297>>26556030
      END;                                                     <<M9297>>26556040
                                                               <<M9297>>26556050
   IF CPVA(1).(14:2) = 2 THEN  << RETURN TO WAIT FOR POLL>>    <<M9297>>26556060
      BEGIN                                                    <<M9297>>26556070
      CPBUF(1) := 5;                                           <<M9297>>26556080
      GO TO TRY'AGAIN;                                         <<M9297>>26556090
      END;                                                     <<M9297>>26556100
                                                               <<M9297>>26556110
   IF CPVA(1).(14:2) = 3 THEN                                  <<M9297>>26556120
      BEGIN                                                    <<M9297>>26556130
      << RETURN TO WAIT FOR POLL AFTER THE DMA TRANSFER >>     <<M9297>>26556140
      CPBUF(1) := 97;                                          <<M9297>>26556150
      GO TO TRY'AGAIN;                                         <<M9297>>26556160
      END;                                                     <<M9297>>26556170
                                                               <<M9297>>26556180
                                                               <<M9297>>26556190
         << C O N T I N U A T O R   S E C T I O N >>           <<M9297>>26556200
                                                               <<M9297>>26556210
   IF CPVA.ERRORCODE = 6 OR CPVA.ERRORCODE = 7  THEN           <<M9297>>26556220
      BEGIN                                                    <<M9297>>26556230
      PRINTERROR;                                              <<M9297>>26556240
      ERRMESSAGE( M3, CPVA);                                   <<M9297>>26556250
      END;                                                     <<M9297>>26556260
                                                               <<M9297>>26556270
   IF CPVA(1).(14:2) <> 0 THEN                                 <<M9297>>26556280
      BEGIN                                                    <<M9297>>26556290
      IF NOT ONLINE THEN                                       <<M9297>>26556300
         BEGIN                                                 <<M9297>>26556310
         MESSAGE( M2407, SYSTAPEUNIT);                         <<M9297>>26556320
         WAITFORREADY;                                         <<M9297>>26556330
         GO START; << TRY IT AGAIN !!! >>                      <<M9297>>26556340
         END;                                                  <<M9297>>26556350
                                                               <<M9297>>26556360
      IF (DEVSTATUS LAND %5170) <> 0 THEN                      <<M9297>>26556370
         BEGIN                                                 <<M9297>>26556380
         PRINTERROR;                                           <<M9297>>26556390
         IF CMD'REJ THEN MT7974 := M5;                         <<M9297>>26556400
         IF TRACKERR THEN MT7974 := M7;                        <<M9297>>26556410
         IF TIMINGERR THEN MT7974 := M8;                       <<M9297>>26556420
         IF TAPERUN THEN MT7974 := M9;                         <<M9297>>26556430
         IF PARITYERR THEN MT7974 := M7;                       <<M9297>>26556440
         IF UNKNOWNDEN THEN MT7974 := M36;                     <<M9297>>26556450
         CC := CCL;                                            <<M9297>>26556460
         RETURN;                                               <<M9297>>26556470
         END;                                                  <<M9297>>26556480
                                                               <<M9297>>26556490
      IF (DEVSTATUS1 LAND %37400) <> 0 THEN                    <<M9297>>26556500
         BEGIN                                                 <<M9297>>26556510
         PRINTERROR;                                           <<M9297>>26556520
         MT7974 := M36; << TAPE UNIT FAILURE >>                <<M9297>>26556530
         CC := CCL;                                            <<M9297>>26556540
         RETURN;                                               <<M9297>>26556550
         END;                                                  <<M9297>>26556560
      END;                                                     <<M9297>>26556570
                                                               <<M9297>>26556580
   CC := CCE;                                                  <<M9297>>26556590
                                                               <<M9297>>26556600
   IF FUNCTION = READ THEN                                     <<M9297>>26556610
      BEGIN  << RETURN TRANSFER COUNT >>                       <<M9297>>26556620
      MT7974 := (XFERCNT-ABS(SIOBASE+RDBYCNT)+1)&LSR(1);       <<M9297>>26556630
      IF EOF THEN CC := CCG;                                   <<M9297>>26556640
      END;                                                     <<M9297>>26556650
END;                                                           <<M9297>>26556660
INTEGER PROCEDURE COLD'LOAD'MEDIA( FUNC, BUF, WORDC, RTN);     <<M9297>>26567000
   VALUE FUNC, WORDC, RTN;                                     <<M9297>>26567100
   INTEGER FUNC, WORDC;                                        <<M9297>>26567200
   LOGICAL RTN;                                                <<M9297>>26567300
   ARRAY BUF;                                                  <<M9297>>26567400
   OPTION VARIABLE;                                            <<M9297>>26567500
BEGIN                                                          <<M9297>>26567600
   LOGICAL VAR = Q-4;                                          <<M9297>>26567700
         CASE (SYSTAPESTYPE).(14:2) OF                         <<M9297>>26628000
            BEGIN                                              <<M9297>>26629000
            TOS := MTAPE( FUNC, BUF, WORDC);                   <<M9297>>26630000
            TOS := MT7976( FUNC, BUF, WORDC);                  <<M9297>>26631000
            TOS := MT7974( FUNC, BUF, WORDC);                  <<M9297>>26632000
            TOS := MT7974( FUNC, BUF, WORDC);                  <<M9297>>26633000
            END;                                               <<M9297>>26634000
         COLD'LOAD'MEDIA := TOS;                               <<M9297>>26635000
   SIZE := (DST(INX).(3:13)) *4;                            << abst>>   28854000
   INTEGER err;                                                <<F9416>>31013000
   err := DFSIO(1, ldev'of'map'in'buffer,                      <<F9416>>31032000
         add'of'map'page'in'buffer, bit'map'buffer,            <<F9416>>31034000
         actual'words'per'page);                               <<F9416>>31034100
   if <> then errmessage( M336, err);                          <<F9416>>31035000
   INTEGER err;                                                <<F9416>>31195000
         err := DFSIO(0, ldev'index'to'ldev (ldev'index),      <<F9416>>31238000
               sector'address, dt'buffer, sector'size);        <<F9416>>31240000
         if <> then errmessage( M336, err);                    <<F9416>>31241000
   INTEGER err;                                                <<F9416>>31437000
   err := DFSIO(0, ldev'index'to'ldev(ldev'index),             <<F9416>>31502000
         add'of'map'page'in'buffer, bit'map'buffer,            <<F9416>>31504000
         actual'words'per'page);                               <<F9416>>31504100
   if <> then errmessage( M336, err);                          <<F9416>>31505000
$EDIT                                                          <<S9171>>36076000
          IF = THEN RETURN;                                    <<S9171>>36083000
          IF = THEN RETURN;                                    <<S9171>>36085000
   while brotherinfo <> 0   do                                 << 9334>>39856000
      begin                                                    << 9334>>39857000
      end;                                                     << 9334>>39860000
$EDIT VOID=40695120                                            <<S9277>>40695000
   TYPE = 2 << FLOPPY DISC >> OR                               <<S9277>>40700000
   TYPE = 3 <<CS'80>> THEN                                     <<S9277>>40702000
$EDIT                                                          <<S9277>>40703000
      CHECK DEVICE TABLE FOR NON-EXISTENT OUTPUT DEVICES,      <<D9191>>44264000
    MORE THAN ONE DDUMP DEVICE CLASS CONFIGURED, DUPLICATELY   <<D9191>>44265000
              IF DCTB'CLASS'NAME = "DDUMP   " THEN             <<D9191>>44859050
                BEGIN                                          <<D9191>>44859060
                  IF DCT'NUM'DEVICES > 1 THEN                  <<D9191>>44859070
                    BEGIN                                      <<D9191>>44859080
                      MESSAGE (M139); <<MORE THAN ONE DEVICE>> <<D9191>>44859090
                               <<CONFIGURED WITH CLASS DDUMP>> <<D9191>>44859100
                      ERRORS := TRUE;                          <<D9191>>44859110
                    END;                                       <<D9191>>44859120
                END;                                           <<D9191>>44859130
        BYTE POINTER PHONE,IDLIST,BCSLDTX=PHONE,btemp'ptr  ;   <<09309>>46464000
          ELSE  BEGIN                                          <<l9158>>47144000
                <<ADDING AN LDEV THAT DIDNT PREVIOUSLY EXIST>> <<l9158>>47146000
                IF LDEV > HLDEV                                <<l9158>>47148000
                        THEN HLDEV := LDEV;                    <<l9158>>47150000
                LPDT'INDEX := LDEV * LPDTSIZE;                 <<l9158>>47152000
                LPDT(LPDT'INDEX) := 0;                         <<l9158>>47154000
                MOVE LPDT(LPDT'INDEX + 1) :=                   <<l9158>>47156000
                     LPDT(LPDT'INDEX),(LPDTSIZE - 1);          <<l9158>>47158000
                END;                                           <<l9158>>47160000
            move btemp := " ";                                 <<09309>>47297000
            move btemp(1) := btemp,(71);   << blank it out >>  <<09309>>47297500
               if tl'term'type <> %37   then                   <<09309>>47308000
                  if tl'term'type <> %37   then                <<09309>>47325000
                     move * := " , ", 2;                       <<09309>>47326000
                  << add file name >>                          <<09309>>47327000
                  @btemp'ptr := tos;                           <<09309>>47327500
                  scan btemp'ptr until " ", 1;                 <<09309>>47329000
                  << add group name >>                         <<09309>>47331000
                  @btemp'ptr := tos - 8;                       <<09309>>47333000
                  scan btemp'ptr until " ", 1;                 <<09309>>47333500
                  << add account name >>                       <<09309>>47335000
                  @btemp'ptr := tos - 8;                       <<09309>>47337000
                  scan btemp'ptr until " ", 1;                 <<09309>>47337500
                  if not (0 <= termtype <= %36)   then         <<09309>>47382000
                    IF 0<=S0<=999 THEN                         << 9566>>47692000
                DEL;     << remove scanned lgth from TOS >>    << 9124>>48051000
                TOS := @BINBUF; << prep TOS for GETSTR >>      << 9124>>48059000
          << THIS PREVENTS CS DEVICE DAT FROM CHANGING TO 16>> <<09268>>48634800
          IF NOT ( CSDEV)   THEN                               <<09268>>48635000
             DETERMCTYP(@SAMEPLACE,DCT,FALSE);                 <<09268>>48636000
                                                               <<09481>>48920100
            << GET THE LDEV ENTRIES >>                         <<09481>>48920200
            DVR'INDEX := LDEV * DVRSIZE;                       <<09481>>48920300
            LDT'INDEX := LDEV * LDTSIZE;                       <<09481>>48920400
            LDTX'INDEX := LDEV * LDTXSIZE;                     <<09481>>48920500
            LPDT'INDEX := LDEV * LPDTSIZE;                     <<09481>>48920600
                                                               <<09481>>48920700
      -1,24,56,-1,56,119,-1,-1,78,-1,      << AVAILABLE BY  >> <<09138>>51868000
        3200, 3328, 3456, 3584, 3712, 3840, 3968, 4096,        <<09311>>57720000
        4608, 5120, 5632, 6144, 6656, 7168, 7680, 8192,        <<09311>>57720100
        8704, 9216, 9728,10240,10752,11264,11776,12288,        <<09311>>57720200
       12800,13312,13824,14336,14848,15360,15872,16384;        <<09311>>57720300
          59,   <<CPU-4   ICF-44    16M    256 BANKS (8)  >>   <<09311>>57746000
          59,   <<CPU-5   ICF-55    16M    256 BANKS (8)  >>   <<09311>>57748000
          59;   <<CPU-6   SERIES-37 16M    256 BANKS (8)  >>   <<09311>>57750000
       INTEGER  TYPE,       << DEVICE TYPE >>                  <<C9454>>58334000
                SUBTYP,     << DEVICE SUBTYPE >>               <<C9454>>58336000
                 SIZE,      << TEMP >>                         <<C9454>>58338000
                 LDEV;                                         <<C9454>>58339000
        LOGICAL UPDATE'VE'VERSION := FALSE;                    <<C9454>>58341000
        EQUATE SDISC=31,FDISC=7, MAGTAPETYPE = 24;             <<C9454>>58342000
        3200, 3328, 3456, 3584, 3712, 3840, 3968, 4096,        <<09311>>58356000
        4608, 5120, 5632, 6144, 6656, 7168, 7680, 8192,        <<09311>>58356100
        8704, 9216, 9728,10240,10752,11264,11776,12288,        <<09311>>58356200
       12800,13312,13824,14336,14848,15360,15872,16384;        <<09311>>58356300
        <<3968>>%17400000D,<<4096K>>%20000000D,                <<09311>>58398000
        <<4608>>%22000000D,<<5120K>>%24000000D,                <<09311>>58398100
        <<5632>>%26000000D,<<6144K>>%30000000D,                <<09311>>58398200
        <<6656>>%32000000D,<<7168K>>%34000000D,                <<09311>>58398300
        <<7680>>%36000000D,<<8192K>>%40000000D,                <<09311>>58398400
        <<8704>>%42000000D,<<9216K>>%44000000D,                <<09311>>58398500
        <<9728>>%46000000D,<<10240>>%50000000D,                <<09311>>58398600
        <<10752>>%52000000D,<<11264>>%54000000D,               <<09311>>58398700
        <<11776>>%56000000D,<<12288>>%60000000D,               <<09311>>58398800
        <<12800>>%62000000D,<<13312>>%64000000D,               <<09311>>58398900
        <<13824>>%66000000D,<<14336>>%70000000D,               <<09311>>58399000
        <<14848>>%72000000D,<<15360>>%74000000D,               <<09311>>58399100
        <<15872>>%76000000D,<<16384>>%100000000D;              <<09311>>58399200
       << ------------------------------------------- >>       <<i9137>>58488100
       << Define bits for last load option used...    >>       <<i9137>>58488200
       << ------------------------------------------- >>       <<i9137>>58488300
                                                               <<i9137>>58488400
        EQUATE                                                 <<i9137>>58489000
            L'NEW             =  1,                            <<i9137>>58489010
            L'SPR'COM'REST    =  2,                            <<i9137>>58489100
            L'REL'ACCTS       =  3,                            <<i9137>>58489200
            L'REL'NULL        =  4,                            <<i9137>>58489300
            L'UPDATE          =  5,                            <<i9137>>58489400
            L'COLD            =  6;                            <<i9137>>58489500
                                                               <<i9137>>58489600
$EDIT VOID=59453240                                                     59452200
             UPDATE'VE'VERSION := TRUE;                        <<C9454>>59457000
<< ------------------------------------------------------ >>   <<C9454>>59529000
<< In case of conversion from VE to T-MIT, convert auto   >>   <<C9454>>59529020
<< reply bit...                                           >>   <<C9454>>59529040
<< ------------------------------------------------------ >>   <<C9454>>59529060
           IF UPDATE'VE'VERSION THEN                           <<C9454>>59529070
              BEGIN                                            <<C9454>>59529080
              LDEV := 0;                                       <<C9454>>59529090
              WHILE (LDEV := LDEV + 1) <= HLDEV DO             <<C9454>>59529100
                  BEGIN                                        <<C9454>>59529110
                  LDT'INDEX := LDEV * LDTSIZE;                 <<C9454>>59529120
                  LPDT'INDEX:= LDEV * LPDTSIZE;                <<C9454>>59529130
                  TYPE := LDT'DEVICE'TYPE;                     <<C9454>>59529140
                  IF TYPE = MAGTAPETYPE THEN                   <<C9454>>59529300
                     LPDT'AUTO'ALLOC :=                        <<C9454>>59529310
                     LPDT'TAPE'AUTO'ALLOC;                     <<C9454>>59529320
                  END;                                         <<C9454>>59529330
              END;                                             <<C9454>>59529340
                                                               <<09269>>59584100
       << ------------------------------------------- >>       <<09269>>59584200
       << If this is a load from tape, initialize the >>       <<09269>>59584300
       << last load from tape option in the comm array>>       <<09269>>59584400
       << and reset the appropriate bit.              >>       <<09269>>59584500
       << ------------------------------------------- >>       <<09269>>59584600
                                                               <<09269>>59584700
       IF LOADFROMTAPE THEN                                    <<09269>>59584800
       BEGIN                                                   <<09269>>59584810
       IF UPDATE THEN                                          <<09269>>59584900
          COMM(LASTLOADOPT) := L'UPDATE                        <<09269>>59585000
       ELSE IF OPT=COLD THEN                                   <<09269>>59585100
          COMM(LASTLOADOPT) := L'COLD                          <<09269>>59585200
       ELSE IF RELOAD THEN                                     <<09269>>59585300
          BEGIN                                                <<09269>>59585400
          IF ACCTSONLY THEN                                    <<09269>>59585500
             COMM(LASTLOADOPT) := L'REL'ACCTS                  <<09269>>59585600
          ELSE IF COMM(FILESDUMPED) = 0 THEN                   <<09269>>59585700
             COMM(LASTLOADOPT) := L'REL'NULL                   <<09269>>59585800
          ELSE IF STARTTYPE = CBNEW THEN                       <<09269>>59585900
             COMM(LASTLOADOPT) := L'NEW                        <<09269>>59585920
          ELSE COMM(LASTLOADOPT) := L'SPR'COM'REST ;           <<09269>>59585940
          END;                                                 <<09269>>59585960
      END;                                                     <<09269>>59585980
                                                               <<09269>>59585990
                   GETNEWVAL(M2007,TEMP,256,4096 );            <<m9496>>59628000
          GETNEWVAL(M2007,TEMP,256, 4096);                     <<m9496>>59664000
          <<**WARNING** DO NOT INTERRUPT THE STARTUP PROCESS>> <<*9190>>59683000
          <<AFTER THIS TIME.  OTHERWISE YOU MAY BE FORCED TO>> <<*9190>>59683010
          <<DO A RELOAD AND THAT IS NO FUN.                 >> <<*9190>>59683020
                                                               <<*9190>>59683030
          blankline;                                           << 9427>>59683035
          MESSAGE(M2474);                                      <<*9190>>59683040
          MESSAGE(M2475);                                      << 9427>>59683042
          blankline;                                           << 9427>>59683044
                                                               <<*9190>>59683050
<< ------------------------------------------------------ >>   <<i9137>>60165000
<< ADDVOL only changes hvol.  Therefore, equate mvol to   >>   <<i9137>>60165100
<< hvol so that we won't try to delete a PV area that     >>   <<i9137>>60165200
<< doesn't exist and subsequently add an extra entry...   >>   <<i9137>>60165300
<< See below                                              >>   <<i9137>>60165310
<< ------------------------------------------------------ >>   <<i9137>>60165400
                                                               <<i9137>>60165500
                MVOL := HVOL;                                  <<i9137>>60165600
   INTEGER ARRAY                                               <<C9394>>61912100
      TABLE(*)   = DB+0;                                       <<C9394>>61912200
      MEMADR,                                                  <<C9394>>61915000
      ERR,                                                     <<C9394>>61952000
      DSTNR,                                                   <<C9394>>61953000
        3200, 3328, 3456, 3584, 3712, 3840, 3968, 4096,        <<09311>>62042000
        4608, 5120, 5632, 6144, 6656, 7168, 7680, 8192,        <<09311>>62042100
        8704, 9216, 9728,10240,10752,11264,11776,12288,        <<09311>>62042200
       12800,13312,13824,14336,14848,15360,15872,16384;        <<09311>>62042300
        <<3968>>%17400000D,<<4096K>>%20000000D,                <<09311>>62084000
        <<4608>>%22000000D,<<5120K>>%24000000D,                <<09311>>62084100
        <<5632>>%26000000D,<<6144K>>%30000000D,                <<09311>>62084200
        <<6656>>%32000000D,<<7168K>>%34000000D,                <<09311>>62084300
        <<7680>>%36000000D,<<8192K>>%40000000D,                <<09311>>62084400
        <<8704>>%42000000D,<<9216K>>%44000000D,                <<09311>>62084500
        <<9728>>%46000000D,<<10240>>%50000000D,                <<09311>>62084600
        <<10752>>%52000000D,<<11264>>%54000000D,               <<09311>>62084700
        <<11776>>%56000000D,<<12288>>%60000000D,               <<09311>>62084800
        <<12800>>%62000000D,<<13312>>%64000000D,               <<09311>>62084900
        <<13824>>%66000000D,<<14336>>%70000000D,               <<09311>>62085000
        <<14848>>%72000000D,<<15360>>%74000000D,               <<09311>>62085100
        <<15872>>%76000000D,<<16384>>%100000000D;              <<09311>>62085200
                                                               <<C9394>>62085300
   SUBROUTINE APPEND'TO'INITIAL;                               <<C9394>>62085310
   BEGIN                                                       <<C9394>>62085320
      SIZE := DST(DSTNR*4).(3:13)*4;                           <<C9394>>62085330
      MEMADR := INITIAL'MEMADR;                                <<C9394>>62085340
      INITIAL'MEMADR := INITIAL'MEMADR - D'L(SIZE));           <<C9394>>62085350
      IF MEMADR&DLSR(16) <> INITIAL'MEMADR&DLSR(16) THEN       <<C9394>>62085360
         BEGIN << CROSSED OVER A BANK BOUNDARY >>              <<C9394>>62085370
         TOS := INITIAL'MEMADR;                                <<C9394>>62085380
         S0 := -SIZE-2;                                        <<C9394>>62085390
         INITIAL'MEMADR := TOS;                                <<C9394>>62085400
         END;                                                  <<C9394>>62085410
      TOS := INITIAL'MEMADR;                                   <<C9394>>62085420
      ASMB( XCHD );                                            <<C9394>>62085430
      MFDS(TABLE,DSTNR,0,SIZE);                                <<C9394>>62085440
      SET( DB );                                               <<C9394>>62085450
      INSERTDST(INITIAL'MEMADR,DSTNR,SIZE,0);                  <<C9394>>62085460
   END;                                                        <<C9394>>62085470
                                                               <<C9394>>62085480
  IF LOADFROMTAPE THEN                                         <<i9137>>62359000
       COMM(SYSTAPELDEV') := COLDLOADLDEV; <<SET BY CHECKDEV>> <<i9137>>62360000
                                                               << 9174>>62490000
REQMKILS:         GETNEWVAL'DOUB( M2353, DCTAB0(KILOSECTS),    << 9174>>62492000
                                  0D, 777777D);                << 9174>>62494000
$EDIT VOID=62516000                                            << 9174>>62496000
                     NRSECT := DOUBLE((TCSTINFO(I*5)+127)/128);<<S9171>>62798000
                     TCSTINFO(X) := 0; << FLAG SPACE RELEASED>><<S9171>>62798333
                     DISC(WRITE,SYSDISC,D'L(INFOSECTOR)),INFO, <<S9171>>62798666
                        INFOSIZE);                             <<S9171>>62799000
            <<  DESTORY SOFT DUMP COLD LOAD SECTOR  >>         <<S9387>>62942100
            <<  THIS WILL PREVENT US FROM WRITING   >>         <<S9387>>62942200
            <<  32K OF MEMORY TO WHERE THE SDFLOAD  >>         <<S9387>>62942300
            <<  FILE WAS BEFORE THIS LOAD.          >>         <<S9387>>62942400
            ZEROBUF( BUF, 128);                                <<S9387>>62942500
            DISC(WRITE,SYSDISC,3D,BUF,128);                    <<S9387>>62942600
                                                               <<S9387>>62942700
   <<------------------------------------>>                    <<F9416>>64088100
   <<   SETUP DFS CACHING DATA SEGMENT   >>                    <<F9416>>64088200
   <<------------------------------------>>                    <<F9416>>64088300
                                                               <<F9416>>64088400
   DSTNR := DFSCACHECTL( CACHE'INIT);                          <<F9416>>64088500
   IF <> THEN ERRMESSAGE( M336, DSTNR);                        <<F9416>>64088600
   APPEND'TO'INITIAL;                                          <<F9416>>64088700
                                                               <<F9416>>64088800
   IF RELOAD OR RECOVERY THEN                                  <<F9416>>64088900
      BEGIN                                                    <<F9416>>64089000
      ERR := DFSCACHECTL( CACHE'INTEGOFF);                     <<F9416>>64089100
      IF <> THEN ERRMESSAGE( M336, ERR);                       <<F9416>>64089200
      END;                                                     <<F9416>>64089300
          << INITIALIZE DIRECTORY CACHE >>                     <<C9394>>64204100
          DSTNR := DIRCACHECTL( CACHE'INIT);                   <<C9394>>64204200
          IF <> THEN ERRMESSAGE( M279, DSTNR);                 <<C9394>>64204300
          APPEND'TO'INITIAL;                                   <<C9394>>64204400
          IF RELOAD THEN                                       <<C9394>>64204500
             BEGIN                                             <<C9394>>64204600
             ERR := DIRCACHECTL( CACHE'INTEGOFF);              <<C9394>>64204700
             IF <> THEN ERRMESSAGE( M279, ERR);                <<C9394>>64204800
             END;                                              <<C9394>>64204900
              ERR := DIRCACHECTL( CACHE'INTEGOFF);             <<C9394>>64253000
              IF <> THEN ERRMESSAGE( M279, ERR);               <<C9394>>64253100
              ERR := DIRCACHECTL( CACHE'INTEGON);              <<C9394>>64283000
              IF <> THEN ERRMESSAGE( M279, ERR);               <<C9394>>64283100
     ERR := DFSCACHECTL( CACHE'INTEGON);                       <<F9416>>64283200
     IF <> THEN ERRMESSAGE( M336, ERR);                        <<F9416>>64283300
                                                               <<F9416>>64283400
   ERR,                                                        <<C9394>>64343000
          ERR := DIRCACHECTL( CACHE'INTEGOFF);                 <<C9394>>64949000
          IF <> THEN ERRMESSAGE( M279, ERR);                   <<C9394>>64949100
          IF NOT RELOAD THEN                                   <<C9394>>64973000
             BEGIN                                             <<C9394>>64973100
             ERR := DIRCACHECTL( CACHE'INTEGON);               <<C9394>>64973200
             IF <> THEN ERRMESSAGE( M279, ERR);                <<C9394>>64973300
             END;                                              <<C9394>>64973400
$EDIT VOID=67966000                                            <<09310>>67958000
                                                               <<09310>>68169000
          <<--------------------------------->>                <<09310>>68169200
          << INITIALIZE INCORE MESSAGE TABLE >>                <<09310>>68169400
          <<--------------------------------->>                <<09310>>68169600
          INIT'MESSAGE'SYSTEM;                                 <<09310>>68169800
                ERR,                                           <<C9394>>69751000
          ERR := DIRCACHECTL( CACHE'CLOSE);                    <<C9394>>71030100
          IF <> THEN ERRMESSAGE( M279, ERR);                   <<C9394>>71030200
          <<--------------------->>                            <<F9416>>71036100
          <<   CLOSE DFS CACHE   >>                            <<F9416>>71036200
          <<--------------------->>                            <<F9416>>71036300
                                                               <<F9416>>71036400
          ERR := DFSCACHECTL( CACHE'CLOSE );                   <<F9416>>71036500
          IF <> THEN ERRMESSAGE( M336, ERR);                   <<F9416>>71036600
                                                               <<F9416>>71036700
