*DECK FCSAMSP 
USETEXT TEXTFCS 
      PROC FCSAMSP; 
*CALL COPYRITE
# TITLE FCSAMSP - FTP CONTROL STATEMENT MAINLINE SYMPL PROCEDURE.      #
  
      BEGIN                            # FCSAMSP                       #
  
# 
**    FCSAMSP - FTP CONTROL STATEMENT MAINLINE SYMPL PROCEDURE. 
* 
*     C. J. RAMSAY                     87/11/03.
* 
*     THE FUNCTION OF THE MAIN PROCEDURE IS TO LOAD AND EXECUTE THE 
*     INITIALIZATION OVERLAY.  THIS PROCEDURE IS CALLED FROM THE MAIN 
*     00,00 COMPASS OVERLAY *FTP* - ENTRY POINTS *FTP*, *CRECFC*. 
* 
*     PROC FCSAMSP
* 
*     ENTRY    NONE 
* 
*     EXIT     THERE IS NO EXIT IN THE NORMAL SENSE.
*              THIS PROCEDURE TRANSFERS CONTROL TO THE INITIALIZATION 
*              PROCESSOR OVERLAY (*FCS7700*) WHICH CALLS THE
*              INITIALIZATION EXECUTION SEQUENCER (*FCSIPES*). WHEN 
*              COMPLETE, *FCSIPES* TRANSFERS CONTROL TO THE PROGRAM 
*              EXECUTION SEQUENCER (*FCSXPES*) WHICH NEVER RETURNS. 
* 
*     METHOD   INITIALIZE REPRIEVE PROCESSING.
*              LOAD THE INITIALIZATION OVERLAY FROM THE PROGRAM LOAD
*              SOURCE, AND EXECUTE IT.
* 
# 
  
# 
****  PROC FCSAMSP - XREF LIST
# 
      XREF
        BEGIN 
        PROC FCSISRP;                  # INITIALIZE REPRIEVE PROCESSING#
        PROC FCSXPES;                  # EXECUTIVE PROCESSOR           #
        PROC LOADREQ;                  # ISSUE LOADER REQUEST          #
        PROC MESSAGE;                  # DAYFILE A MESSAGE             #
        END 
# 
****
# 
      ARRAY LVLMSG [00:00] S(4);
        BEGIN 
        ITEM LVL$TEXT    C(00,00,36) =
       [" FTP VERSION V.V.V, PSR LEVEL LLLLL."];
        ITEM LVL$VER     C(01,18,05) = [FTPVERSION];
        ITEM LVL$LVL     C(03,00,05) = [FTPLEVEL];
        ITEM LVL$ZBYTE   U(03,36,24) = [0]; 
        END 
# 
*     LOAD REQUEST TABLE. 
# 
      ARRAY LDREQ [00:00] S(2); 
        BEGIN 
        ITEM LDR$NAME    C(00,00,07) = ["FCS7700"];  # OVERLAY NAME    #
        ITEM LDR$RES1    U(00,42,18) = [0];          # RESERVED        #
        ITEM LDR$L1      U(01,00,06) = [O"77"];      # PRIMARY OVL LVL #
        ITEM LDR$UNUSED  U(01,06,11) = [0];          # L2,N,RES,S,D    #
        ITEM LDR$U       B(01,17,01) = [TRUE];       # LOAD OPTION     #
        ITEM LDR$V       B(01,18,01) = [TRUE];       # OVERLAY LOAD FLG#
        ITEM LDR$RES2    U(01,19,04) = [0];          # RESERVED        #
        ITEM LDR$E       B(01,23,01) = [TRUE];       # AUTO EXECUTE    #
        ITEM LDR$LWAFWA  U(01,24,36) = [0];          # LWA, FWA        #
        END 
CONTROL EJECT;
# 
*     START MAIN PROCEDURE
# 
      MESSAGE (LVLMSG[0], 0);          # DAYFILE VERSION + PSR LEVEL   #
# 
*     SET UP REPRIEVE PROCESSING. 
# 
      FTPSTATE = FTPUINIT;             # INITIALIZE FTP STATE          #
      FTPABORT = EDISCON;              # INITIALIZE ABORT CODE         #
      FCSISRP;                         # SET UP REPRIEVE PROCESSING    #
# 
*     CHECK SOURCE OF PROGRAM LOAD. LOAD AND EXECUTE INITIALIZATION 
*     OVERLAY FROM THE SAME SOURCE. 
# 
      P<LDRINFO> = O"64";              # BASE LOADER INFORMATION PTR   #
      IF NOT LDI$LB[0]
      THEN
        BEGIN                          # FTP RUNNING FROM A FILE       #
        LDR$NAME[0] = LDI$NAME[0];     # FILE NAME                     #
        LDR$U[0]    = FALSE;           # RESET LOAD OPTION             #
        END;
  
      LOADREQ (LDREQ);                 # LOAD AND EXECUTE *FCSIPES*    #
# 
*     THE FOLLOWING PROCEDURE CALL IS NEVER EXECUTED AS THERE IS NO 
*     RETURN FROM THE *LOADREQ* CALL. IT IS INCLUDED HERE IN ORDER
*     TO FORM THE MAIN (0,0) OVERLAY. 
# 
      FCSXPES;                         # CONTROL STATEMENT EXECUTIVE   #
  
      END                              # FCSAMSP                       #
  
      TERM
