*DECK CTRLDAA 
          IDENT     CTRL$AA 
          TITLE     CTRL$AA - STATIC CONTROLLER FOR AAM 
          COMMENT   CRM CONTROLLER - ADVANCED ACCESS. 
          SST 
          B1=1
          TITLE     CTRL$AA PASSLOC TABLE AND OTHER FDL STUFF 
*#
*0D   FDL LINKAGE 
*0D   PURPOSES
*0        PROVIDE PASSLOC ENTRIES THAT ARE NOT ALREADY PROVIDED BY THE
*         BAM STATIC CONTROLLER.
*0        PROVIDE THE GROUP NAME AND LIBRARY LIST FOR FDL CALLS TO LOAD 
*         AAM CAPSULES. 
*#
 RMG.AAM  VFD       42/0LAAM.CTL,18/9 
          CON       0LAAMLIB,0
  
 RMG$AAM  VFD       42/0LAAM$CTL,18/#AM2DSZ#
          CON       0LAAMLIB,0
  
 PLL      VFD       42/,18/=XRM$PL
          VFD       42/0,18/=XRM$PLB
          VFD       42/,18/PL 
 RM$APL   CON       0              ADDITIONAL PLOC FOR UTILITIES
          CON       0 
  
          QUAL      BAM 
* CALL /PASSLOC/
*CALL /PASSLOC/ 
          QUAL      * 
 PL.REPL  EQU       /BAM/PL.REPL
  
* CALL /PASSMAC/
*CALL /PASSMAC/ 
  
 PL       PLOC      A 
          ENTRY     RM$APL
 PL.NEW   PLY       AAM$CTL        DYNAMIC CONTROLLER FOR ORG=NEW 
 PL.ENV   PLY       AAM$ENV        ENVIRONMENT HANDLERS 
 PL.OLD   PLY       AAM.CTL        DYNAMIC CONTROLLER FOR ORG=OLD 
          PLX       CMM.DOE        DELETE OVERFLOW ENTRY
          PLX       CMM.GOS        GET OVERFLOW STATISTICS
          PLX       CMM.POE        PUSH OVERFLOW ENTRY
          PLX       FDL.LDC 
          PLX       FDL.ULC 
          ENTRY     RMP$LR
 RMP$LR   PLY       LDRT$AA        LOAD RT CAPSULE FOR PUTS 
          PLL       RMP$FE         AAM ACCESS TO FLEF$RM
          PLL       RMP$LR
          PLX       RM$MEXB 
          PLX       RM.DA 
          PLX       RM.DAX
          PLX       RM.IS 
          PLX       RM.ISX
          ENTRY  DHASH.2,DHASH.1
DHASH.2   PLY    SASH$DA
DHASH.1   PLY    SD$HASH
          PLX       SETUP.
 ENDPL    BSS 
 CTRL$AA  SPACE     4,10
 21B      IS.IN     5 
*#
*1CD  CTRL$AA 
*0D   PURPOSE (USED ONLY BY OPEN) 
*0        ENHANCE PASSLOC LIST. 
*         CHOOSE DYNAMIC CONTROLLER.
*         JUMP TO IT. 
*#
          ENTRY     CTRL$AA 
 CTRL$AA  BSS                      FIT-S REFERENCE THIS 
          SA2       PL.OLD+#PLAO# 
          SX7       PLL            LIST OF PASSLOC TABLES 
          SX4       RMG.AAM 
          SA7       =XRM$PLL
          OFF.RM    ORG,LGO        CHOOSE 
          SA2       PL.NEW+#PLAO# 
          SX4       RMG$AAM        GROUP + LIB LIST 
 LGO      RJ        =XRM$LDC
          JP        B5             GO TO AAM CTL TO FINISH OPEN 
*#
*0D   CHOOSE DYNAMIC CONTROLLER AND GO TO IT. 
*#
          ENTRY     AAM$GO
 NOTOPN   BSS       0 
          CRMEP     ES=110B,FNF=1 
 AAM$GO   BAM.FO    NOTAA 
          SET.RM    COP,B4
          SA2       PL.OLD+#PLAO# 
          OFF.RM    ORG,GOTADDR 
          SA2       PL.NEW+#PLAO# 
 GOTADDR  SB5       X2
          NG        B5,NOTOPN 
          ZR        B5,NOTOPN 
          JP        B5
 NOTAA    SB2       #RPL# 
          SX6       245B           FUNCTION NOT VALID FOR THIS FO 
          NE        B4,B2,=XERR$RM
          LGO.RM    PL.REPL,FO=NOTWA
          SPACE     2 
          ENTRY     AAM$BL
AAM$BL    VFD       42/0,18/377777B    MAX BUFFER LENGHT ALLOWED
          ENTRY     AAM$PBC 
AAM$PBC   VFD       42/0,18/377777B    PRIORITY BLOCK COUNT FOR KO CHAIN
          ENTRY     AAM$LOK 
AAM$LOK   DATA   0
          TITLE     CTRL$AA ENTRY POINTS
          ENTRY     RM$PARI,RM$PARO 
 DLT$RM   SPACE     4,8 
 DLT$RM   ENTRY$                   FIT,EX,KA,KP,POS 
          SB4       #DLT# 
          EQ        RM$PARO        STORE PARAMS, CK PD TO ALLOW OUTPUT
 GETN$RM  SPACE     4,8 
 GETN$RM  ENTRY$                   FIT,WSA,EX,KA
          SB4       #GTN# 
  
 RM$PARI  SA4       B6-B1 
          LX4       59-29          7TH
          PL        X4,PAR7Z
          SX0       B5
          SET.RM    MKL,X0,7,1,717 MKL
 PAR7Z    BSS 
          SB5       PD.I           PROHIBIT PD=OUTPUT 
  
 PAR6     SX0       B3             SAVE KP
          RJ        =XRM$PD        CHECK PD,OC,FNF
 PAR6A    LX4       1 
          PL        X4,PAR5 
          SET.RM    KP,X0,7,1,716  KP 
 PAR5     IX7       X4+X4 
          SB3       AAM$GO         RETURN ADDRESS 
          LX4       2 
          PL        X7,=XRM$PAR4
          SET.RM    KA,X6,7,1,715  KA 
          EQ        =XRM$PAR4 
 GTNR$RM  SPACE     4,8 
 GTNR$RM  ENTRY$                   FIT,EX 
          SB4       #GNR# 
          EQ        RM$PARI        STORE PARAMS, CK PD TO ALLOW INPUT 
 REPL$RM  SPACE     4,8 
 REPL$RM  ENTRY$
          SB4       #RPL# 
  
 RM$PARO  SA4       B6-B1          CONTAINS PARAM-PRESENCE FLAGS
          LX4       59-29          7TH
          BX1       X4
          SX7       B5
          AX1       59
          BX0       X1*X7          POS=0 IF NOT SPECIFIED 
          SET.RM    POS,X0,7,1     POS  (MACROS ASSURE VALIDITY)
          SB5       PD.O           PROHIBIT PD=INPUT
          EQ        PAR6
 SEEK$RM  SPACE     4,8 
 SEEK$RM  ENTRY$                   FIT,EX,KA,KP,MKL 
          SB4       #SIK# 
          EQ        MKL 
 STRT$RM  SPACE     4,8 
 STRT$RM  ENTRY$                   FIT,EX,KA,KP,MKL 
          SB4       #STR# 
 MKL      SA4       B6-B1 
          LX4       59-29 
          PL        X4,NOPD 
          SX0       B5
          SET.RM    MKL,X0,7,1,717 MKL
 NOPD     SX0       B3             SAVE KP
          EQ.RM     FOC,#OPE#,PAR6A,B3  JUMP IF FNF AND OC ARE OK 
          EQ        =XRM$FOC
          TITLE     CTRL$AA ENVIRONMENT MODIFICATION ROUTINES 
*#
*0D   ENVIRONMENT MODIFICATION ROUTINES 
*0D   CLASS 1 
*0        SOME FORMS OF ACTION INVOLVE ONLY OPEN FILES, THESE USE THE 
*         SATSFACTION OF =YAAM$ENV TO SEE IF ANY FILES ARE OPEN, IF SO
*         GO TO IT.  NOTE THAT AAM$ENV MUST BE IN THE SAME CAPSULE AS 
*         AAM$CTL.  ENTRIES:  
*                   FLSH$RM 
*0D   CLASS 2 
*0        SOME FORMS INVOLVE SETTING UP GLOBAL INFORMATION THAT DOES
*         NOT INVOLVE ANY FILES.
*         THE CODE WILL CALL RM$LOAD TO LOAD THE CAPSULE (NOTE: IT MUST 
*         BE SEPARATE FROM AAM$CTL) AND JP B5 TO GET TO IT.  IF THE 
*         CAPSULE IS NOT NEEDED, IT WILL START WITH  SA6 =XRM$TMP+2 
*         WHICH WILL GET IT UNLOADED WHEN THE NEXT LOAD IS NEEDED.
*#
 FLSH$RM  SPACE     4,8 
          ENTRY     FLSH$RM 
 FLSH$RM  BSS 
          SA2       PL.ENV+#PLAO# 
          SB2       B1             FLSH FLAG
          SB5       X2
          SX1       A0             LIST OF FITS 
          GT        B5,JPB5 
          JP        B6             NO-OP IF NO FILES OPEN 
 JPB5     JP        B5
          END 
