AP1I
.PROC,AP1I*I,\
MEMSIZE ' SELECT MAP DATA MEMORY SIZE          '=(*N=24,24,48,64),
*CALL COMPC 
*CALL COMUSER 
*CALL COMIA 
*CALL COMTOB
*CALL COMTOL
*CALL COMDISK 
*CALL COMD3 
*CALL COMLIST 
*CALL COMPROC 
. 
.*
.*        AP1I - INSTALL THE ON-LINE DIAGNOSTIC 
.*              AP1 FOR MAP III AND MAP IV. 
.*
.*        INVOCATION
.*        BEGIN,AP1I,INSTALL,MEMSIZE. 
.*
.*        MEMSIZE = 24K, 48K, 64K - THIS PARAMETER
.*                  SELECTS THE APPROPRIATE COPY FOR
.*                  MODE 8 OFF-LINE DIAGNOSTIC TESTS. 
.*
.* NOTE - THE PROCEDURE MSSI MUST BE RUN BEFORE 
.*        THIS PROCEDURE TO ENSURE THE INSTALLATION 
.*        OF THE USER LIBRARY MSAMLIB.
.*
.* NOTE - 70K OF ECS/UEM IS REQUIRED TO EXECUTE 
.*        THIS PROCEDURE.  ENSURE THAT THE USER 
.*        NUMBER THAT THIS PROCEDURE IS RUN UNDER 
.*        IS VALIDATED TO USE USER ECS. 
.*
.* NOTE - THIS PROCEDURE MUST BE RUN UNDER
.*        THE SAME USER NUMBER/PASSWORD THAT AP1
.*        WILL BE EXECUTING UNDER.  THIS IS TO ENSURE 
.*        THAT THE MODE 8 FILES ARE ACCESSABLE TO AP1.
.*        THE SAME UN/PW IS ALSO SPECIFIED VIA THE
.*        MSSI INITILIZATION PROCEDURES RUN UNDER THE 
.*        SYSTEM USER INDEX - MAPECS, MAPCMI, AND MAPCH.
.*
.* NOTE - IF A LOCAL FILE USER IS PRESENT IT WILL BE
.*        USED TO ADD USER CODE TO THE PL.
.*
.*        START AP1I VIA SUBPROC. 
.*
BEGIN(SUBPROC,INSTALL,AP1I,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF) 
REVERT.        AP1I 
EXIT. 
REVERT(ABORT)  AP1I 
  
.DATA,ZZZPROC 
.PROC,AP1I. 
COMMENT.
COMMENT.  #MEMSIZE SELECTED (MEMSIZE)K. 
COMMENT.
BEGIN(PRDIN,INSTALL,PRDNAME=AP1I,#PN=PN,#PR=PR)  MULTIPLE FILES 
* 
BEGIN(GETULIB,INSTALL,SYSLIB,FTN5LIB,MSAMLIB) 
* 
IFE, FILE(USER,AS) ,AP1I03. 
REWIND(USER)
RENAME(TEMPAP1=OLDPL) 
UPDATE(P=TEMPAP1,N=NEWAP1,I=USER) 
RENAME(OLDPL=NEWAP1)
ENDIF(AP1I03) 
* 
REWIND(IN)
NOTE(IN,NR)+*IDENT AP1ITX 
NOTE(IN)+*COMPILE  AP1TEXT
PACK(IN)
UPDATE,Q,I=IN.
COMPASS,A,I,B=AP1TEXT,L=LIST. 
RFL,CM=100000,EC=70.
RETURN,IN.
NOTE(IN,NR)+*IDENT   AP1IC
NOTE(IN,NR)+*DEFINE  NOS
NOTE(IN,NR)+*COMPILE AP100.AP180
PACK(IN)
UPDATE,Q,I=IN,O=LIST. 
RENAME,NEWPL=OLDPL. 
FTN5,ET,I,S=NOSTEXT,G=AP1TEXT,B=RELAP1,L=LIST.
LDSET,PRESET=ZERO,LIB=MSAMLIB.
LOAD,RELAP1.
NOGO,LGO. 
* 
*  SAVE THE OFF-LINE DIAGNOSTIC FILES 
*  TO BE USED BY MODE 8.
* 
REWIND(AP1I)
SKIPF(AP1I)   ( SKIP FTN5 PL FILE ) 
PURGE(CSTFU,CSCMD,CSQMM,CSMAINT/NA) 
PURGE(CSVDMT,CS24KM,CSHSMT,CSDSOP4/NA)
PURGE(CSECS,CSECSTA,CSCMI/NA) 
DEFINE(CSTFU,CSCMD,CSQMM,CSMAINT) 
DEFINE(CSVDMT,CS24KM,CSHSMT,CSDSOP4)
DEFINE(CSECS,CSECSTA,CSCMI) 
COPYBF(AP1I,CSTFU)
COPYBF(AP1I,CSCMD)
COPYBF(AP1I,CSQMM)
COPYBF(AP1I,CSMAINT)
COPYBF(AP1I,CSVDMT) 
COPYBF(AP1I,CS24KM) 
COPYBF(AP1I,CSDSOP4)
COPYBF(AP1I,CSECS)
COPYBF(AP1I,CSECSTA)
.IF, ($MEMSIZE$ .EQ. $48$) .SKIPF(AP1I) 
.IF, ($MEMSIZE$ .EQ. $64$) .SKIPF(AP1I,2) 
COPYBF(AP1I,CSHSMT) 
.IF, ($MEMSIZE$ .EQ. $24$) .SKIPF(AP1I,2) 
.IF, ($MEMSIZE$ .EQ. $48$) .SKIPF(AP1I,1) 
COPYBF(AP1I,CSCMI)
REWIND(CSTFU,CSCMD,CSQMM,CSMAINT) 
REWIND(CSTFU,CSCMD,CSQMM,CSMAINT) 
REWIND(CSVDMT,CS24KM,CSHSMT,CSDSOP4)
REWIND(CSECS,CSECSTA,CSCMI,AP1IPFS) 
COPYBF(CSTFU,AP1IPFS) 
COPYBF(CSCMD,AP1IPFS) 
COPYBF(CSQMM,AP1IPFS) 
COPYBF(CSMAINT,AP1IPFS) 
COPYBF(CSVDMT,AP1IPFS)
COPYBF(CS24KM,AP1IPFS)
COPYBF(CSDSOP4,AP1IPFS) 
COPYBF(CSECS,AP1IPFS) 
COPYBF(CSECSTA,AP1IPFS) 
COPYBF(CSHSMT,AP1IPFS)
COPYBF(CSCMI,AP1IPFS) 
BEGIN(PFGOUT,INSTALL,PRDNAME=AP1I,LFN=AP1IPFS)
REWIND(AP1I,NEWPL)
COPYEI(AP1I,NEWPL)
BEGIN(PRDOUT,INSTALL,PRDNAME=AP1I,#PNO=PNO,#PRO=PRO)
RETURN(CSTFU,CSCMD,CSQMM,CSMAINT) 
RETURN(CSVDMT,CS24KM,CSHSMT,CSDSOP4)
RETURN(CSECS,CSECSTA,CSCMI) 
* 
BEGIN(GENDIR,INSTALL,LIB=33)
BEGIN(SAVELGO,INSTALL,PRDNAME=AP1I) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.    AP1I COMPLETE. 
EXIT. 
REVERT,ABORT.  AP1I TERMINATED. 
*WEOR 
