


           Mount(V1.3, 2.x, 3.x in C:)



     NAME
          Mount - Make a new device known to AmigaDOS.

     SYNOPSIS
          1.3:
          MOUNT Dev [FROM filename] STARTPROC


		  2.x/3.x:
		  MOUNT Devs [FROM filename]

     DESCRIPTION
            When AmigaDOS starts up, only a few devices are known 
        to it.  You can add new devices with the Mount command, 
        which are then used just like any standard device.  The 
        devices might be actual hardware units, or they might be 
        logical devices, such as a SPEAK: device, or a PIPE:  
        device, or a buffered serial device SER:, or even a 
        non-buffered serial device such as AUX:.  The Assign 
        command allows you to view or remove these added devices, 
        as well as the standard system devices.

            Before using this command to Mount the device, you 
        will need to create an entry for it in a file (this is 
        referred to as a MountList entry).  The details of doing 
        this vary from device to device, but there should be 
        documentation accompanying each device you intend to add 
        that describes exactly how to do this.  Ordinarily, you 
        will make this entry in the file called DEVS:Mountlist on 
        your system, but the FROM keyword gives you the option to 
        specify another file to obtain the mountlist entry from. 
        The 1.3 disk has a sample Mountlist file in the Devs: 
        directory. This will form a good example of how to 
        structure any mountlists you write.

            The size of the device is determined by the Surface, 
        LowCyl, HighCyl, and BlocksPerTrack entries. Merely 
        multiply these values together to get the available 
        storage. For example, if you had a device with a 
        Surface=2 (double sided), LowCyl= 0 and HighCyl=39 (40 
        tracks per side: 39 - 0 + 1), and with a 
        BlocksPerTrack=11 (11 sectors, each sector being 512 
        bytes) you would end up with a 440k drive (.5k X 2 X 11 X 
        40= 440K).

            For non-memory devices such as SPEAK:, AUX:, SER:, or 
        PIPE: the list simply shows where to find the handler. A 
        handler is a program similar to a device driver.

            The CLI commands FORMAT and DISKCOPY work with all 
        similar mounted devices. For instance, you can FORMAT or 
        DISKCOPY between two 3.5 inch drives and two 5.25 inch 
        drives, but not DISKCOPY between a 5.25-inch drive to a 
        3.5-inch drive.  If you try, you will get an "Object Not 
        Of Required Type" message.

            The MOUNT command looks for this Mountlist in the 
        DEVS: directory. This file is a text file that shares 
        some of the characteristics of the C programming 
        language. For instance, hexadecimal numbers must start 
        with the characters 0x. Semicolons must seperate multiple 
        descriptions on a line. Comments must appear like in all 
        AmigaDOS script comments, that is beginning with /* and 
        ending with */. The Mountlist must end with the pound 
        sign (ei #).

            2.X/3.X Only:

            There is a completely new and user-friendly way to 
        handle devices! There is a new drawer in your Workbench 
        called "DOSDrivers" inside your DEVS: directory. These 
        files are different from old mountlists in three ways: 1) 
        They don't end in a pound sign, 2) They contain only one 
        device name per file, and 3) the device name of the file 
        is not specified in the list. To mount the device, you 
        simply drag it into the DOSDrivers drawer and it will be 
        mounted automatically when the Workbench is loaded.  If 
        you don't want the mountlist loaded automatically at 
        startup, then simply place the mountlist in the 
        DOSDrivers drawer of the Storage directory.

      KEYWORDS FOUND IN THE MOUNT LIST
		  Handler= 
            The name of the device handler file. Found in you l 
        or devs directory of your workbench.

		  EHandler=
            2.x/3.x only: The name of the environment handler 
        file found in your prefs/env-arc directory of your 
        workbench.

		  FileSystem= 
            The name of the file system file. Usually found in 
        your Devs or l directory of your Workbench.

		  Device=  
            The name of your device driver file found in the Devs 
        drawer of your workbench. You can also specify a path to 
        another device location if you to locate the  driver in 
        another drawer.

		  Priority= 
            The task priority of the process; 5 is typical of 
        handlers, 10 is typical of file systems.

		  Unit= 
            The unit number of the device (ei 0 for df0: and 1 
        for df1:).

		  Flags=  
            Flags setting for the OpenDevice call (usually 0).

		  Surfaces= 
            Number of write surfaces.

		  BlocksPerTrack:
            The number of disk blocks (eg sectors) per track (eg 
        cylinder).

		  Reserved= 
            The number of blocks used for the boot block; 2 is 
        the standard here.

		  PreAlloc= 
            The number of blocks reserved at the end of a 
        partition; used with a few IBM-style (yuk!) hard drives. 
        This is usually 0.

		  Interleave=
            This value controls the AmigaDOS interleave, not the 
        physical hard drive interleave.

          LowCyl=
            Starting cylinder to use for this device.

		  HighCyl= 
            Ending cylinder for this device. Total number of 
        cylinders= HighCyl - LowCyl +1. 

		  StackSize=
            The amount of working memory to allocate to the 
        process.

		  Buffers=
            Number of cache buffers to use with the device.

		  BufMem Type=
            Type of memory to use for cache buffers. Values are 
        as follows: 
							0 or 1 = Any
							2 or 3 = CHIP
						    4 or 5 = FAST

		  Mount=
            If this value is positive, MOUNT loads the handler or 
        driver software as soon as the device is MOUNTed, rather 
        than the first time the device is accessed.  2.1/3.x 
        utilizes the word ACTIVE as a synonym for this keyword.

		  MaxTransfer=
            The maximum number of blocks transfered at one time; 
        used with the Fast File System only.

		  Mask= 
            Address mask that specifies the memory range that can 
        be used for DMA transfers; used only with the Fast File 
        System.

		  GlobVec= 
            If the handler is written in BCPL, it needs a global 
        vecotr. A value of 0 sets up a private global vector; 
        anything else indicates that the handler is written in C 
        or assembly language, and no global vector is needed.  If 
        this keyword isn't used, the shared AmigaDOS global 
        vector is used.

		  Startup=
            A string passed to the handler, device, or file 
        system on startup. This string is passed as a BPTR to a 
        BSTR.

		  BootPri=
            The boot priority of a bootable device, expressed as 
        a number between -129 and 127. A value of -129 indicates 
        that the device is not bootable, as is appropriate for 
        use with the recoverable RAM disk if you don't want to 
        boot from that device on reset.

		  DosType=
            Indicates the format of the file system used. If the 
        Fast File System is used, this value should be set to 
        0x444F5301 (DOS/1). Other types introduced in 2.1 include 
        0x444F5302 (DOS/2), an international version of the old 
        file system that allows mixed-case accented characters in 
        filenames, and 0x444F5303 (DOS/3), an international 
        version of the Fast File System.

		  Baud=    
            Serial device speed (in bits per second).

		  Control=  
            Serial device control parameters- word length, 
        parity, and stop bits (eg 8N1, 7E1).

		  ForceLoad=
            A new 2.1 option. When this value is 0 (default), the 
        system will check the resource list to see if the file 
        system named in the entry has already been loaded. If it 
        has, the system will use that one, instead of loading a 
        new one.		
		  

            Under 1.3 you can only MOUNT one device at a time 
        with one MOUNT command.
		
            The 2.x/3.x version of Mount allows you to mount any 
        number of devices with one Mount command, which can speed 
        up the startup-sequence somewhat.


     OPTIONS
          FROM
            This takes one argument, which should be a filename.  
        This filename will be used to obtain the Mountlist entry 
        for the device you are adding. If this keyword is not 
        used, the file DEVS:Mountlist will be used instead.

          STARTPROC
            Ordinarily, a mounted device will have its handler 
        loaded when it is first accessed, not when mounted.  This 
        switch allows you to override the default action, which 
        will load the handler at Mount time.  Reasons for doing 
        this could include having a few handlers on an alternate 
        disk that you don't want to keep in a drive for the 
        duration of your session.

	MOUNT KEYWORDS
		
	DEV
            The actual AmigaDOS device name, such as DF2:, DH0:, 
        or SER:.  This refers to either a hardware device like a 
        disk drive or serial port, or a logical device such as a 
        RAD or harddrive partition. The keyword must be the same 
        as the label given in the Mountlist entry. The device 
        mounted should also be available to the system. 

            In 1.3 you can only specify one device per command. 
        Under 2.x/3.x you can specify multiple devices with one 
        command call. Wildcards may be used when specifying 
        multiple devices.

	FROM
            Lets you specify a file other than DEVS:Mounlist as 
        the place to look for the description of the device being 
        MOUNTed.
 
     EXAMPLE
           1. Assuming you have a mountlist for a device named 
        FRANKIE:

               Mount FRANKIE:

      CAUTIONS

            Please note the following two differences between the 
        V2.x/3.x Mount and the Commodore V1.3 Mount, which can 
        cause problems in some cases if you are not aware of the 
        differences.

            If you want to reboot from RAD: using the 2.x/3.x 
        Mount, you must insert an explicit "BOOTPRI = 0" 
        statement into the mountlist entry for RAD:, as compared 
        with the Commodore Mount which automatically will reboot 
        from RAD:.

            If you have a "MASK = nnnnn" statement in your 
        mountlist, MAKE SURE THE MASK VALUE IS AN EVEN NUMBER.  
        The 1.3 Mount automatically converts the mask value to an 
        even value, but the 2.x/3.x Mount will pass through an 
        odd value which can cause problems.  You will probably 
        only have a "MASK=nnnnnn" statement if you have memory 
        that cannot be accessed by a DMA device, such as with a 
        RONIN 68020 card.

