*DECK LOADOVL 
          IDENT LOADOVL 
          ENTRY  LOADOVL
          ENTRY  FOLGDE                                                 000220
FEBIT     EQU    50-36             FATAL ERROR BIT
 NOVLM    EQU    5                 NUMBER OF OVL MISSING + 1
NUVE      VFD    12/0,2/1,3/0,1/0,1/1,4/0,1/0,36/0
*                                  V=1, N=1, E=0, U WILL BE SET LATER 
LDRCALL1  DATA   0
LDRCALL2  DATA   0
LDRCALL3  DATA   0
HIGHEST   DATA   0
*IF DEF,CID 
 PARAM    CON    ZERO        CID PARAMETER STRING ADDR
 ZERO     CON    0           CID PARAMETER STRING 
*ENDIF
          ENTRY  OLD65
OLD65     DATA   0                 LWA OF OVERLAY JUST LOADED 
          EXT    LIBFLAG
          SPACE  5
*  THERE ISNT MUCH TO SAY SINCE IT IS SO EASY. BOTH  TYPES OF CALLS 
*  (FOR A LFN LOAD OR SYSTEM LIBRARY LOAD) ARE AUTOMATICALLY SETUP. 
* 
  
 LDOVL    EQ     *+1S17      NEEDED TO VOID THE INSTRUCTION STACK 
  
 MOD      EQ     *+1S17      MODIFIED TO JUMP TO OVERLAY ENTRY POINT
  
 LOADOVL  EQ     *+1S17      ENTRY/EXIT 
  
FSET      EQ     FIRST             MODIFIED TO NOPS 
FSETR     SA4    X1                READ UP FWA
          SB1    1
          SA2    A1+B1             READ UP ADDRESS OF L1
          SA3    A2+B1             ADDRESS OF L2
          SA2    X2 
          SA5    104B        HHA
          SA3    X3 
          MX0    42                MASK OUT THE CRUD
          BX5    -X0*X5 
          RJ     SETUP             SET UP THE LOADER CALL WORDS 
          MX0    42                RESTORE -HIGHEST-
          SA3    65B
          BX7    -X0*X3 
          SA7    HIGHEST
          LOADREQ  LDRCALL1,RCL    LOAD THE REQUESTED OVERLAY 
          SA2    65B
          MX0    42 
          BX6    -X0*X2 
          SA6    OLD65
          SA3    HIGHEST
          BX6    X3 
          SA4    104B        HHA
          BX4    -X0*X4 
          IX3    X4-X3
          NG   X3,FSET20
          BX6    X4 
FSET20    SA6    A2                RESTORE 65B
          SA4    LDRCALL2 
          LX4    FEBIT
          NG     X4,*+400000B      ERROR
          LX4    60-FEBIT          SHIFT X4 BACK TO ORIGINAL POSITION 
          BX6    -X0*X4 
          LX6    30 
          SA5    MOD
          MX0    6
          BX5    X0*X5
          IX6    X5+X6             ADD IN ENTRY POINT ADDR
          SA6    A5 
*IF DEF,CID 
* 
*     IF DEBUG HAS BEEN DESIGNATED *ON* DURING LOAD AND CID HAS BEEN
*     DEFINED DURING UPDATE, PASS CONTROL TO CID PRIOR TO LOADING THE 
*     OVERLAY.
*                A1 = ADDRESS OF PARAMETER STRING 
*                PARAMETER STRING = ONE WORD OF BINARY ZEROS
* 
          SB2    =YDBUG.OM
          MI     B2,MOD      IF CID NOT LOADED, LOAD OVL RIGHT AWAY 
          SA1    PARAM
          RJ     =YDBUG.OM   IF CID LOADED, CALL CID BEFORE OVL CALL
*ENDIF
          RJ     LDOVL       EXECUTE OVERLAY
  
 SETUP    SPACE  6,10 
* ROUTINE TO SET  UP THE LOADER CALL WORDS
*  ENTER WITH L1 IN X2
*  ENTER WITH L2 IN X3
*  ENTER WITH FWA IN X4 
*  ENTER WITH LWA IN X5 
* 
*  EXIT WITH 3 WORD LOADER CALL SET UP
* 
* 
SETUP     JP     *+400000B
          ZR     X2,*+400000B      L1 CANNOT BE 0 
          BX6    X2 
          LX6    6
          BX6    X6+X3             MERGE IN L2
          LX6    30                PARTIALLY MOVE TO RECEIVE LWA, FWA 
          BX6    X6+X5             MERGE IN LWA 
          LX6    18                POSITION TO RECEIVE FWA
          BX6    X6+X4             MERGE IN FWA 
          SA1    NUVE              FETCH N, U, E, AND V FLAGS 
          BX6    X6+X1
          SA6    LDRCALL2          SECOND WORD IS COMPLETE
          SA1    LDRCALL1          CLEAR
          MX0    48                      OUT
          BX6    X0*X1                       OLD
          SA6    LDRCALL1                        STATUS 
          SB1    X3 
          SA1    X2+DLIST-NOVLM    GET L1 POINTER 
          SA1    X1+B1             IN L1 LIST GET L2 NAME 
          BX6    X1 
          SA6    LDRCALL3          WORD 3 IS COMPLETE 
          EQ     SETUP             ALL FINISHED 
          SPACE  3
 DLIST    VFD    60/DL50,60/DL60,60/DL70
DL50      DATA   6LFTMAIN          5,0 OVERLAY - FORTRAN SUB-SCHEMA     000730
          DATA   7LFTPASS1         5,1 OVERLAY                          000740
          DATA   7LFTPASS2         5,2 OVERLAY                          000750
          DATA   7LFTPASS3         5,3 OVERLAY                          000760
          DATA   7LFTINDEX         5,4 OVERLAY                          000770
DL60      BSS    0
          DATA   7LDLF0600         6,0 OVERLAY    DDLCG 
          DATA   7LDLF0601         6,1 OVERLAY    DDLCGP1 
          DATA   7LDLF0602         6,2 OVERLAY    DDLCGP2 
  
DL70      BSS    0
          DATA   7LDLF0700         7,0 OVERLAY    CBSSLIB 
          SPACE  5
*    THIS AREA WILL BE OVERLAYED BY YHE DIAGNOSTICS POINTER OVERALY 
*    THE CODE IN THIS AREA MAY BE EXECUTED ONLY ONCE THEREFORE
PTR       BSS    0
FIRST     SX6    A1                SAVE PARAMETER ADDRESS 
          SA6    HIGHEST
          SA1    64B               GET LOCAL FILE NAME TO LOAD FROM 
          BX6    X1 
          SA6    LDRCALL1          AND PUT IT INTO LOADER CALL
          SA2    LIBFLAG
          MX0    59                 SET UP THE U BIT
          BX6    -X0*X2 
          LX6    41+1              SHIFT AROUND TO POSITION 42  (U) 
          ZR     X6,LOCAL          JUMP IF  FROM A LOCAL FILE 
          MX3    42           MASK JUST 7 CHARACTERS
          BX1    X1*X3
          SA2    NUCLEUS      COMPARE WITH THE NAME -NUCLEUS- 
          BX2    -X1-X2 
          NZ     X2,LOCAL     JUMP IF NOT FROM -NUCLEUS-
          SA1    SYSOVL 
          BX7    X1 
          SA7    LDRCALL1          SYSOVL IS THE LIBRARY NAME 
LOCAL     SA1    NUVE              GET WORD OF  N, V AND E BITS 
          BX6    X6+X1             MERGE IN U 
          SA6    NUVE 
          SA1    NOPS 
          BX6    X1 
          SA6    FSET 
          SA1    HIGHEST
          SA1    X1 
          EQ    FSETR 
                                                                        000240
*    ROUTINE TO GET THE LWA OF 7,0 OVERLAY FROM FOL DIRECTORY ENTRY     000250
*                                                                       000260
*                                                                       000270
 LWA70    VFD    42/7LDLF0700,6/0,6/7,6/0                               000280
 FOLGDE   EQ     *+1S17                                                 000290
                                                                        000300
          SA1    LWA70                                                  000310
          RJ     =XFOL.GDE                                              000320
                                                                        000330
          MX0    42                                                     000340
          BX6    -X0*X7                                                 000350
          EQ     FOLGDE                                                 000360
                                                                        000370
SYSOVL    VFD    60/6LSYSOVL
NOPS      NO
          NO
          NO
          NO
NUCLEUS   VFD    60/7LNUCLEUS 
          END 
