
            RESIDENT (1.3 in C:) (2.x/3.x Internal)

   NAME
            Resident - Loads a program into memory and keeps it 
        resident there where it will be executed without having 
        to be loaded from disk each time.

   SYNOPSIS
     1.3:
        RESIDENT name filename [REMOVE] [ADD] [REPLACE] [PURE] 
                 [SYSTEM]

     2.x/3.x:
        RESIDENT name filename [REMOVE] [ADD] [REPLACE] [PURE 
                 or FORCE] [SYSTEM]


   DESCRIPTION
            Resident saves time by loading the command into 
        memory thereby allowing several Shell windows to execute 
        the same program code simultaneously, without having to 
        load another copy of the program for each shell.

            A command may only be made resident from 1.3 and 
        above. Also, only program files that have their PURE bit 
        set. Also resident commands must be able to be run many 
        times in a row without being reloaded or reinitialized. 
        It should also be able to be executed from different 
        Shells simultaneously without conflict. How do you know 
        if the file is able to be made resident? Check the Pure 
        bit. If the programmer who made the command followed 
        Commodore standards, it would be set to on. And, 9 times 
        out of 10 the docs will mention the fact.

   KEYWORDS
        name
            This is an optional resident name for the program. 
        For instance, you can chose to call the resident version 
        of Delete by the letter D. If you don't specify a name, 
        the filename is used as the resident name.

        filename
            The full path name to the file to be made resident.
            
        REMOVE
            This will remove the resident from the resident list. 
        This only succeeds if that command is not currently in 
        use. Under 2.x/3.x you can use this keyword to disable 
        any Internal commands (which may be re-enabled with the 
        REPLACE option).

        ADD
        REPLACE
            These keywords are completely optional since they 
        make very little differnece to the execution of the 
        program. If you don't add a filename with these 
        keywordsthen the command will list all the programs on 
        the resident list, just like if you used the command 
        RESIDENT. If you issue a filename with them then RESIDENT 
        will try to add that file to the resident list. If that 
        file already exists it will get replaced by the new 
        command. Under 2.x/3.x REPLACE will fail if the resident 
        name is not on the resident list and you are able to 
        re-enable an internal command that has been disabled with 
        the REMOVE option.

        PURE or FORCE
            These cause RESIDENT to force a prgram to be made 
        resident whether or not if the PURE bit is set.  If this 
        keyword is used, you will get a message saying that the 
        pure bit is not set. Data files cannot be made RESIDENT, 
        only executable programs can be. The FORCE keyword can be 
        used under 2.x/3.x and does the exact same thing as pure. 

            The use of this keyword can be extremely hazerdous to 
        your system. Don't be surprised if you FORCE a command to 
        be made resident that was not meant to be made resident 
        cause your machine to crash in a very big way. 

        SYSTEM
            This keyword will not allow the user to delete that 
        file from the resident list. The most common use of this 
        keyword is the way it enables the Shell windows to 
        replace the CLI under 1.3. The command that  makes the 
        Shell-Seg resident is:

            RESIDENT CLI L:Shell-Seg SYSTEM

            Under 1.3 this is used in the startup script. But, 
        2.x/3.x does not need it because the Shell is built into 
        the system ROMS.


        EXAMPLES:

            1. Make the Delete command resident, using the name D:

            RESIDENT D C:Delete
        

            2. To remove the DIR command from the resident list:

            RESIDENT dir REMOVE


            3. To display all the command residing on the resident
               list:

            RESIDENT SYSTEM


            
