MMCL
.PROC,MMCL*I,\
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMIA 
*CALL COMTOB
*CALL COMTOL
*CALL COMDISK 
*CALL COMD3 
*CALL COMPROC 
. 
  
*  MMCL - MMCL 3
* 
*  INSTALL MAP III/IV-2X MACRO CONTROL LIBRARY
* 
*CALL PSRLEV
  
.*****    MMCL    (REL14E)
.*        INSTALLATION INSTRUCTIONS:  
  
.***      INVOCATION
.*        BEGIN,MMCL,INSTALL. 
  
.*        THE FILE MAPLIBE FOR CMI/ECS COUPLED MAPS 
.*        AND FILE MAPLIBC FOR CHANNEL COUPLED MAPS 
.*        MUST RESIDE IN THE SYSTEM USER INDEX. 
.*
.*        THIS PROCEDURE BUILDS BOTH VERSIONS OF FILE MAPLIB. 
.*        TO BUILD A DIFFERENT VERSION IT IS RECOMMENDED
.*        THAT A SEPARATE PROCEDURE BE BUILT WHICH MAKES
.*        A CALL TO THE PROCEDURE MAPULIB WITH THE DESIRED
.*        MACRO SELECTION ON FILE CWUSER. 
.*        CONSULT A LISTING OF THE MISCELLANIOUS PROCEDURES 
.*        ON FILE MSSIP FOR EXAMPLES. 
.*
.*        M3C HAS BEEN MODIFIED TO BE A ZERO LEVEL PP OVERLAY 
.*        SO THAT A LOAD ADDRESS MAY BE SPECIFIED.
.*        *0MC* FOR ECS/CMI COUPLED MAP III AND MAP IV-23/25. 
.*        *0MD* FOR CHANNEL COUPLED MAP IV-20/21. 
.*
  
.*  START MMCL VIA SUBPROC. 
.*
BEGIN(SUBPROC,INSTALL,MMCL,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF) 
REVERT.        MMCL.
EXIT. 
REVERT(ABORT)  MMCL.
  
  
.DATA,ZZZPROC 
.PROC,MMCL. 
COMMENT.
*CALL PSRLEV
BEGIN(PRDIN,INSTALL,PRDNAME=MMCL,#PN=PN,#PR=PR) 
BEGIN(UP,INSTALL,RANDOM,PCPL=CPRD,#PC=PC,#CC=CC,PCDECK=MAP) 
RETURN(COMPILE) 
RENAME(OLDPL=NEWER) 
BEGIN(GETULIB,INSTALL,SYSLIB,FTN5LIB) 
.*
.*  MACLIST 
.*
REWIND(MLREL,IN)
NOTE(IN,NR);*IDENT MLIST
NOTE(IN,NR);*C MACLIST
PACK(IN)
UPDATE(Q,I=IN)
FTN5(ET,I,B=MLREL,L=LIST)   MACLIST 
LDSET(ERR=ALL,PRESET=ZERO)
LOAD(MLREL) 
NOGO(MACLIST) 
RETURN(MLREL) 
* 
* 
*  THE FOLLOWING -DEFINES- DETERMINE THE DEFAULT
*  SYSTEM MACRO CONTROL LIBRARY FILE MAPLIBE
*  FOR USE WITH MAP III AND MAP IV-23/25. 
* 
REWIND(CWUSER)
NOTE(CWUSER,NR);*IDENT SYSMCLE
NOTE(CWUSER,NR);*DEFINE SUMPROD 
NOTE(CWUSER,NR);*DEFINE STKMOVE 
NOTE(CWUSER,NR);*DEFINE EFFT
NOTE(CWUSER,NR);*DEFINE LOADP32 
NOTE(CWUSER,NR);*DEFINE LOADP30 
NOTE(CWUSER,NR);*DEFINE LOADL32 
NOTE(CWUSER,NR);*DEFINE LOADR32 
NOTE(CWUSER,NR);*DEFINE UNLDP32 
NOTE(CWUSER,NR);*DEFINE UNLDP30 
NOTE(CWUSER,NR);*DEFINE UNLDL32 
NOTE(CWUSER,NR);*DEFINE UNLDR32 
NOTE(CWUSER,NR);*DEFINE UPM 
NOTE(CWUSER,NR);*DEFINE TMM 
NOTE(CWUSER,NR);*DEFINE TMMALL
NOTE(CWUSER,NR);*DEFINE MAXABS
NOTE(CWUSER,NR);*DEFINE LINTERP 
NOTE(CWUSER,NR);*DEFINE CVEC
NOTE(CWUSER,NR);*DEFINE ADDVEC
NOTE(CWUSER,NR);*DEFINE BCASVEC 
NOTE(CWUSER,NR);*DEFINE SUMRVEC 
NOTE(CWUSER,NR);*DEFINE SQRTVEC 
NOTE(CWUSER,NR);*DEFINE CXMPY 
PACK(CWUSER)
BEGIN(MAPULIB,INSTALL,CHMAP=NO) 
PURGE(MAPLIBE/NA) 
DEFINE(MAPLIBE) 
COPY(MAPLIB,MAPLIBE,V)
RETURN(MAPLIB)
MACLIST(MAPLIBE)
* 
*  THE FOLLOWING -DEFINES- DETERMINE THE DEFAULT
*  SYSTEM MACRO CONTROL LIBRARY FILE MAPLIBC
*  FOR USE WITH MAP IV-20/21. 
* 
REWIND(CWUSER)
NOTE(CWUSER,NR);*IDENT SYSMCLCH 
NOTE(CWUSER,NR);*DEFINE #CHMAP
NOTE(CWUSER,NR);*DEFINE CHMAPA
NOTE(CWUSER,NR);*DEFINE SUMPROD 
NOTE(CWUSER,NR);*DEFINE STKMOVE 
NOTE(CWUSER,NR);*DEFINE EFFT
NOTE(CWUSER,NR);*DEFINE LDCHP32 
NOTE(CWUSER,NR);*DEFINE LDCHP30 
NOTE(CWUSER,NR);*DEFINE LDCHL32 
NOTE(CWUSER,NR);*DEFINE LDCHR32 
NOTE(CWUSER,NR);*DEFINE ULCHP32 
NOTE(CWUSER,NR);*DEFINE ULCHP30 
NOTE(CWUSER,NR);*DEFINE ULCHL32 
NOTE(CWUSER,NR);*DEFINE ULCHR32 
NOTE(CWUSER,NR);*DEFINE UPM 
NOTE(CWUSER,NR);*DEFINE TMM 
NOTE(CWUSER,NR);*DEFINE TMMALL
NOTE(CWUSER,NR);*DEFINE MAXABS
NOTE(CWUSER,NR);*DEFINE LINTERP 
NOTE(CWUSER,NR);*DEFINE CVEC
NOTE(CWUSER,NR);*DEFINE ADDVEC
NOTE(CWUSER,NR);*DEFINE BCASVEC 
NOTE(CWUSER,NR);*DEFINE SUMRVEC 
NOTE(CWUSER,NR);*DEFINE SQRTVEC 
NOTE(CWUSER,NR);*DEFINE CXMPY 
PACK(CWUSER)
BEGIN(MAPULIB,INSTALL,CHMAP=YES)
PURGE(MAPLIBC/NA) 
DEFINE(MAPLIBC) 
COPY(MAPLIB,MAPLIBC,V)
RETURN(MAPLIB)
MACLIST(MAPLIBC)
* 
REWIND(MAPLIBE,MAPLIBC,MMCLPFS) 
COPYBF(MAPLIBE,MMCLPFS) 
COPYBF(MAPLIBC,MMCLPFS) 
BEGIN(PFGOUT,INSTALL,PRDNAME=MMCL,LFN=MMCLPFS)
RETURN(MAPLIBE,MAPLIBC,MMCLPFS) 
* 
*  BUILD THE 0MC VERSION OF M3C FOR 
*  MAP III AND MAP IV-23/25.
* 
REWIND(IN)
NOTE(IN,NR);*IDENT TEXTINE
NOTE(IN,NR);*C,MCACOM,MCATEXT 
PACK(IN)
UPDATE(Q,O=0,I=IN)
RFL(77000)
COMPASS(A,I,S=0,L=0,B=MCATEXT)
REWIND(MCATEXT,IN)
* 
NOTE(IN,NR);*IDENT M3CINE 
NOTE(IN,NR);*C,M3C
PACK(IN)
UPDATE(Q,I=IN)
COMPASS(A,I,G=MCATEXT,B=M3CTEMP,L=LIST) 
REWIND(M3CTEMP,MAPFORM) 
NOTE(IN);OPTIONS,0MC,,LE,.
LDSET(PRESET=ZERO)
LOAD(M3CTEMP) 
MAPFORM(IN) 
RETURN(M3CTEMP) 
REWIND(MAPLIB)
COMPASS(A,I=MAPLIB,S=0,L=0) 
RETURN(MAPLIB)
* 
*  BUILD THE 0MD VERSION OF M3C 
*  FOR MAP IV-20/21.
* 
REWIND(IN)
RETURN(MCATEXT) 
NOTE(IN,NR);*IDENT TEXTINCH 
NOTE(IN,NR);*DEFINE #CHMAP
NOTE(IN,NR);*C,MCACOM,MCATEXT 
PACK(IN)
UPDATE(Q,O=0,I=IN)
RFL(77000)
COMPASS(A,I,S=0,L=0,B=MCATEXT)
REWIND(MCATEXT,IN)
* 
NOTE(IN,NR);*IDENT M3CINCH
NOTE(IN,NR);*DEFINE #CHMAP
NOTE(IN,NR);*C,M3C
PACK(IN)
UPDATE(Q,I=IN)
COMPASS(A,I,G=MCATEXT,B=M3CTEMP,L=LIST) 
REWIND(M3CTEMP,MAPFORM) 
NOTE(IN);OPTIONS,0MD,,LE,.
LDSET(PRESET=ZERO)
LOAD(M3CTEMP) 
MAPFORM(IN) 
RETURN(M3CTEMP) 
REWIND(MAPLIB)
COMPASS(A,I=MAPLIB,S=0,L=0) 
RETURN(MAPLIB)
* 
REWIND(MACLIST) 
COPYBR(MACLIST,LGO) 
BEGIN(GENDIR,INSTALL,LIB=33)
BEGIN(SAVELGO,INSTALL,PRDNAME=MMCL) 
* 
BEGIN(PRDOUT,INSTALL,PRDNAME=MMCL,#PNO=PNO,#PRO=PRO)
BEGIN(END,INSTALL,MFT=R1G+) 
* 
REVERT.        MMCL.
EXIT. 
REVERT(ABORT)  MMCL.
*WEOR 
