MFBBAT1 
.PROC,MFBBAT1*I,\ 
*CALL COMCCPL 
BL      ' 3 CHARACTER BASE LEVEL               '=(*N=,,*A3),
CL      ' 3 CHARACTER CODE LEVEL               '=(*N=,,*A3),
CRL     ' 3 CHARACTER CROSS LEVEL              '=(*N=,,*A3),
XREF    ' SELECT CROSS REFERENCE     (NO/YES)  '=(*N=NO,NO,YES,*K=YES), 
UNP     ' USER NAME/PACK NAME FOR CCP FILES    '=(*N=,,*A), 
UNC     ' USER NAME/PACK NAME FOR CROSS FILES  '=(*N=,,*A), 
*IF,DEF,63CSET
CSET    ' CHARACTER SET                        '=(*N=63), 
*ELSE 
CSET    ' CHARACTER SET                        '=(*N=64), 
*ENDIF
*CALL COMPROC 
. 
*CALL     PSRLEV
  
.****   MFBBAT1 
.*
.*      PROCEDURE TO BUILD MUX FIRMWARE LOAD MODULE 
.*
  
BEGIN(SETAJTL,INSTALL)
BEGIN(CCPGNPL,INSTALL,#BL=BL,#CL=CL,
#UNP=$UNP$) 
NOTE(MFBDIR1)/*ID MUX2550/*C BEGINA 
UPDATE(Q,P=NEWPL,I=MFBDIR1,K,L=1) 
RETURN(MFBDIR1) 
BEGIN(GETULIB,INSTALL,BAMLIB) 
ATTACH(ASSEM=AASM_CRL_UNC)
ATTACH(MACRO=AMAC_CRL_UNC)
IFE($CCPLIST$.NE.$PF$,YESPF)
IFE($CCPLIST$.EQ.$BOTH$,NOTPF)
ENDIF(YESPF)
PURGE(LMFB_CL/NA) 
DEFINE(LISTING=LMFB_CL) 
ELSE(NOTPF) 
IFE($CCPLIST$.EQ.$NO$,YESLIST)
ASSIGN(NE,LISTING)
ENDIF(YESLIST)
ENDIF(NOTPF)
RFL(77000)
ASSEM(I=COMPILE,G=MACRO,L=LISTING,X=1,PB) 
RETURN(COMPILE) 
BKSP(LGO) 
NOTE(MFBDIR2)/*ID MUXFW/*DF STAMPING/*C MF
UPDATE(Q,P=NEWPL,I=MFBDIR2,K,D,L=1) 
RETURN(MFBDIR2) 
ATTACH(MASSEM=AMAS_CRL_UNC) 
MASSEM(COMPILE,LISTING,LGO,,,,PB) 
RETURN(MASSEM,COMPILE,SCRTCH,SYMTAB,DISK) 
REWIND(LGO) 
IFE($XREF$.EQ.$YES$,NOXREF) 
BKSP(LISTING) 
COPYEI(LISTING,XRFINP)
REWIND(XRFINP)
ATTACH(MICXREF=AMXR_CRL_UNC)
MICXREF(XRFINP,LISTING) 
RETURN(MICXREF,XRFINP)
ENDIF(NOXREF) 
NOTE(MFBDIR3)/*ID MFBLKDR/*C FWBUILD
UPDATE(Q,P=NEWPL,I=MFBDIR3,K=MFBLKDR,L=1) 
RETURN(MFBDIR3) 
PURGE(ZMUX_CL/NA) 
DEFINE(ABSOLMP=ZMUX_CL) 
ATTACH(MPLINK=ALNK_CRL_UNC) 
RFL(110000) 
MPLINK(D=MFBLKDR,R=LISTING,X=1,#CSET=CSET)
RFL(0)
RETURN(SYMTAB,LGO)
WRITEF(LISTING) 
RENAME(MUXZAP=ABSOLMP)
.*
.*  GENERATE BOOTDUMP MODULE
.*
NOTE(MFBDIR4)/*ID 2550DMP/*C BOOTDUMP 
UPDATE(Q,P=NEWPL,I=MFBDIR4,K,L=1) 
RETURN(MFBDIR4) 
RFL(77000)
ASSEM(I=COMPILE,G=MACRO,L=LISTING,X=1,PB) 
RFL(0)
RETURN(ASSEM,MACRO,COMPILE) 
PURGE(SMUX_CL/NA) 
DEFINE(SYMTAB=SMUX_CL)
RFL(110000) 
MPLINK(D=MFBLKDR,R=LISTING,X=1,#CSET=CSET)
RFL(0)
SKIPEI(SYMTAB)
WRITEF(SYMTAB)
RETURN(MPLINK,MFBLKDR,SYMTAB,LGO) 
WRITEF(LISTING) 
SKIPEI(MUXZAP)
WRITEF(MUXZAP)
REWIND(ABSOLMP) 
COPYBF(ABSOLMP,MUXZAP)
RETURN(ABSOLMP,MUXZAP)
IFE($CCPLIST$.NE.$YES$,YESLIST) 
IFE($CCPLIST$.EQ.$BOTH$,NOLIST) 
ENDIF(YESLIST)
REWIND(LISTING) 
COPYEI(LISTING) 
ENDIF(NOLIST) 
RETURN(LISTING) 
REVERT.  MFBBAT1. 
.*
EXIT. 
RFL(0)
IFE($CCPLIST$.NE.$YES$,LISTAV)
IFE($CCPLIST$.EQ.$BOTH$,NOLIST) 
ENDIF(LISTAV) 
REWIND(LISTING) 
COPYEI(LISTING) 
ELSE(NOLIST)
IFE($CCPLIST$.EQ.$NO$,LSTISPF)
NOTE(,NR)/ / **** BUILD STEP ABNORMAL TERMINATION 
NOTE(,NR)/ / **** CCP,CROSS LISTING FILE NOT CREATED, 
NOTE(,NR)/ / **** MAY BE NECESSARY TO RERUN THE BUILD STEP WITH 
NOTE(,NR)/ / **** #LIST PARAMETER SPECIFIED TO DETERMINE CAUSE
NOTE(,NR)/ / **** OF FAILURE. 
ENDIF(LSTISPF)
ENDIF(NOLIST) 
REVERT(ABORT)  MFBBAT1. 
*WEOR 
