Copyright (c) 2012-2016 Hyperion Entertainment and contributors.

AmigaOS Manual: AmigaDOS Additional Amiga Directories

From AmigaOS Documentation Wiki
Jump to: navigation, search

In addition to the AmigaDOS commands, there are other files and directories on your Workbench disk. This chapter includes the following:

  • DEVS:
  • S:
  • L:
  • FONTS:
  • LIBS:
  • REXX:
  • ENV:
  • CLIPS:
  • T:
  • Classes
  • C:

The drawers contained in DEVS: are described in the Workbench User's Guide .

You do not need a detailed understanding of the contents of the directories listed here. Unless specifically directed otherwise, you can safely ignore them. However, you should know their purposes and locations in case you inadvertently delete or rename a file in a directory or need to copy something to the appropriate directory.

Figure B-1 illustrates the standard directory structure of a hard disk Amiga system. Directories with icons visible from Workbench (drawers) are shown on the left; other directories are on the right. The standard contents and structure of these directories may change as the AmigaOS development team adds, changes, or removes resources.

System Directory Tree

Most of these directories are automatically assigned to the SYS: volume or to the Ram Disk. These directories, as well as SYS:, can be ASSIGNed to different volume when necessary.

For example, you can assign FONTS: to a particular disk, such as FontDisk:. Most applications automatically look for the fonts that they need in the FONTS: directory, regardless of where that is. By changing the FONTS: assignment, you can allow applications to use the fonts on FontDisk:


In addition to the DOSDrivers, Keymaps, Printers, Monitors, and DataTypes drawers described in the Workbench User's Guide, the DEVS: drawer contains files and subdirectories that pertain to the devices that can be used with the Amiga.

Note that you can refer to the DEVS:Keymaps and DEVS:Printers drawers by their assigned names KEYMAPS: and PRINTERS:, respectively.

Device Files

The following lists the .device files in DEVS: and their functions:

clipboard.device Controls access to CLIPS:.
Parallel.device Controls access to the parallel port.
printer.device Controls access to the printer device.
Serial.device Controls access to the serial port.
mfm.device Controls access to MS-DOS disks with CrossDOS.

For more information on the .device files, see Amiga Devices.

Other Files

The following additional files are found in DEVS:

system-configuration Holds certain Preferences configuration data needed when booting. Holds information needed to initialize a PostScript printer when using PrinterPS.

Using Mount Files or a MountList

To access new devices, the Amiga must be informed when any are added. These may be physical devices, such as a tape drive, or software (logical) devices, such as a recoverable RAM disk. There are several ways to do this:

  • Placing a driver in the Expansion drawer
  • Placing a mount file in the DOSDrivers drawer
  • Making an entry for the device in a MountList file and using the MOUNT command

A mount file represents a device, handler, or file system. Standard devices have their own mount file with icons in the DOSDrivers drawer in DEVS:. These are mounted automatically during the standard Startup-sequence. Alternatively, devices can use the MOUNT command to read a MountList entry that determines the characteristics of the device.

The need to use a MountList and the MOUNT command has been eliminated by the mount file method used in Amiga system software Release 2.1 and beyond. Rather than requiring a MountList file with entries for each device you want to mount, DEVS: now contains the DOSDrivers drawer, which holds a separate mount file or DOS driver for each device. The contents of a mount file are essentially the same as an individual MountList entry.

You can, however, continue to use a MountList to mount devices. Copy the MountList to DEVS: and remove any DOS drivers in the DOSDrivers drawers that have the same name as one of your MountList entries. (A mount file overrides a MountList entry of the same name.)

Creating a MountFile or MountList Entry

The following information on mount files also applies to MountLists, except as noted.

Mount files contain keywords describing the device, handler, or file system, as well as values for those keywords. Some keywords apply only to a file system or a handler. If a keyword is omitted, a default value is used. Be sure that the default value is appropriate for the device.

The following are rules for creating a mount file or MountList:

  • The file must be a plain ASCII text file.
  • The mount file name must be the name of the device; the name of a MountList should be MountList.
  • Each entry in a MountList must start with the name of the device. Omit this for a mount file.
  • Keywords are followed by an equals sign (=).
  • Keywords must be separated by a semicolon or be placed on separate lines.
  • Comments are allowed in standard C style (that is, comments start with /* and end with */).
  • Each MountList entry must end with the # symbol. Omit this for a mount file.

When creating a new mount file or MountList entry, refer to the documentation that came with the device or start with an example of one for a similar device. Change or add only the necessary keywords.

The following table, lists keywords and their default values supported in a mount file or MountList and their functions. Default values are shown in angle brackets.

Keyword Function
Handler=<none> A handler entry (for example, Handler = L:eque-handler).
Ehandler=<none> An environment handler entry.
FileSystem=<none> A file system entry (for example, FileSystem = L:CrossDosFileSystem).
Device=<none> A device entry (for example, Device = DEVS:mfm.device). This argument is required to mount a file system. There is no default value for Device; you must supply a value.
Priority=<10> The priority of the process; 5 is good for handlers, 10 for file systems.
Unit=<0> The unit number of the device (for example, 0 for PC0:).
Flags=<0> Flags for OpenDevice (usually 0).
Surfaces=<none> The number of surfaces (2 for floppy devices, varies for hard drives). This argument is required to mount a file system. There is no default value for Surfaces; you must supply a value.
SectorsPerBlock=<none> Defines the number of physical disk sectors in each logical block used by the file system.
SectorsPerTrack=<none> The number of blocks per track. This argument is required to mount a file system. There is no default value for SectorsPerTrack; you must supply a value.
SectorSize=<512> Specifies the number of bytes in a block on the device. Most devices use a 512 byte block; however, some devices use other sizes (for example, CD-ROMs use 2048 bytes).
Reserved=<2> The number of blocks reserved for the boot block; should be 2.
Interleave=<0> Interleave value; varies with the device.
LowCyl=<none> Starting cylinder to use. This argument is required to mount a file system. There is no default value for LowCyl; you must supply a value.
HighCyl_<none> Ending cylinder to use. This argument is required to mount a file system. There is no default value for HighCyl; you must supply a value.
Stacksize=<600> Amount of stack allocated to the process.
Buffers=<5> Number of initial 512-byte cache buffers. Increase this for higher disk performance if you have RAM to spare.
BufMem Type=<3> Memory type used for buffers; (0 and 1 = Any, 2 and 3 = Chip, 4 and 5 = Fast).
Mount=<0> See the description of ACTIVATE, which is a synonym for MOUNT.
MaxTransfer=<0x7ffffff> The maximum number of bytes transferred at one time with any file system. Use Max Transfer for compatibility with older hard drive systems.
Mask=<0xffffffff> Address Mask to specify memory range that DMA transfers can use at one time with any file system. Use Mask for compatibility with older hard drive systems.
Glob Vec=<2> A global vector for the process; -1 is no Global Vector (for C and assembler programs), 0 sets up a private GV; if the keyword is absent, the shared Global Vector is used. Omit this keyword for Amiga file system devices.
Startup=<none> A string passed to the device, handler, or file system on startup as a BPTR to a BSTR.
Activate=<0> If a positive value, ACTIVATE loads the device or handler immediately rather than waiting for first access. Synonymous with MOUNT.
BootPri=<0> A value that sets the boot priority of a bootable and mountable device. This value can range from -129 to 127. By convention, -129 indicates that the device is not bootable and is not automatically mounted.
DosType=<0x444F5300> Indicates the type of file system, giving hexadecimal ASCII codes for three letters and a concluding number as follows:
Value ASCII File System
0x444F5300 DOS0 Original (OFS)
0x444F5301 DOS1 FastFileSystem (FFS)
0x444F5302 DOS2 International Mode OFS
0x444F5303 DOS3 International Mode FFS
0x444F5304 DOS4 Directory caching International Mode OFS
0x444F5305 DOS5 Directory caching International Mode FFS
0x4D534400 MSD0 MS-DOS
Baud=<1200> Serial device baud rate.
Control=<0> Serial device word length, parity, and stop bits.
Forceload=<0> Forces a file system to be loaded form disk even though a suitable entry is in the resource list. If 0 (the default), check the resource list before the disk. If 1, always load from disk.

S: Directory

The S: directory is generally reserved for AmigaDOS and ARexx scripts. However, you may place non-script files in S: or place script files in other directories. In addition to the Startup-sequence file, the User-startup file that you create, and Shell-startup files, the S: directory also contains teh scripts described in this section.


This file contains ED commands used to configure the ED text editor, assigning the default function key options. Key assignments can be customized by editing this file. Removing or renaming this file activates expanded ED command menus; see Chapter 4 for instructions on how to do this.

Other files containing ED commands can be stored in S: for use by the WITH keyword of ED, which allows ED command files to perform custom editing operations.

SPat, DPat

These scripts allow pattern matching with commands that do not normally support it. When run with a command, SPat and DPat use the LIST command to create temporary script files in the T: directory and then execute the scripts. SPat and DPat can be used within command aliases.

SPat adds pattern matching to single-argument commands. For example, to use ED to edit all the files in the S: directory beginning with the letter's, enter:

1> SPat ED S:s#?

A script similiar to the following is generated:

ED "s:Shell-startup"
ED "s:SPat"
ED "s:Startup-sequence"

SPat executes the script, invoking ED three times to display the files.

DPat adds pattern matching to double-argument commands. After DPat and the command name, enter the two arguments separated by a space, using the wildcards required to produce the desired matches.


Like the CD command, the PCD script changes the current directory. However, PCD also remembers the directory from which you are changing, so you can return to it without entering the entire path. Each Shell has an independent PCD memory.

The first time you use PCD in a given Shell, you must give it the path to a directory. When entered with this path argument, PCD has the same effect as CD, changing to the named directory, but it also stores the path to the directory from which you changed. You can then change the current directory by the usual methods. To return to the initial directory, enter PCD alone. For example:

1.System:> PCD Work:Paint/24bit
1.Work:Paint/24bit> PCD

Subsequent invocations of PCD switch to the directory in which you last used PCD:

1.System:> PCD
1.Work:Paint/24bit> /
1.Work:Paint> PCD

PCD use the assign list to store the remembered directory. When you use PCD, the list contains the assignment from<n> , where <n> is the Shell number. Using PCD with no argument before establishing the first from directory produces an error requester.

For further examples of PCD, see Chapter 8.

L: Directory

This directory contains device handlers, which are software modules that go between AmigaDOS and the devices used by the Amiga. However, most handlers are treated as if they are actual physical devices and they are referred to by their device name.

Handlers must be named in the mount file or MountList for their respective devices. Handlers are called and manipulated by programs, not users. New handlers can be supplied with some devices or programs and should be copied to the L: directory.


The Aux-handler provides unbuffered serial input and output. It is essentially a console handler that uses the serial port rather than the Amiga screen and keyboard.

The DOSDrivers mount file for AUX is:

Handler = L:Aux-handler
Stacksize = 1000
Priority = 5

You can use Aux-Handler to use a serial terminal with your Amiga. For example:


Queue-Handler (PIPE:)

The Queue-Handler is an input/output mechanism used to provide I/O communication between programs. It creates an interprocess communication channel named PIPE. For more information about PIPE:, see Appendix D.


The Port-Handler is the AmigaDOS interface for the SER:, PAR:, and PRT: devices.

When accessing SER:, you can supply settings for the baud rate and control information. The form for this is SER:<baud/control>, where baud is a number representing the baud rate and where control is a three character sequence indicating the following:

Number of read/write bits First character; either 7 or 8
Parity Second character; N (no parity), O (odd parity), E (even parity), M (mark parity), S (space parity)
Number of stops bits Third character; either 1 or 2

For example:


connects to the serial port, sets the baud rate to 9600 with a bit data, no parity, and one stop bit.

If you specify no baud rate or control values when accessing SER:, the values set in the Serial Preferences editor are used.


The CrossDOSFileSystem is required to use CrossDOS.


The FileSystem_Trans directory contains the following files required for CrossDOS text translation:

DANSK.crossdos Filters Danish text files
INTL.crossdos Preserves international characters
MAC.crossdos Converts Apple Macintosh ASCII files


The CDFileSystem is required to use a CD-ROM drive.


FONTS: is the disk or directory that contains the information for all of the different styles of fonts available to the Amiga. Font information is stored differently for bitmap and outline fonts.

Bitmap Fonts

For each bitmap font, there is a subdirectory and a .font file. The font subdirectory contains files for the different point sizes that are available. Each of these files contains the bitmap representation of every character in the font at that point size.

For example, for the Emerald font, there is an Emerald directory and an Emerald.font file. The Emerald directory contains two files: 17 and 20. The files contain the data needed for the 17 point Emerald font and the 20 point Emerald font, respectively. The Emerald.font file contains the list of point sizes and any available styles, such as bold and italics for the font.

Many word processor or desktop publishing programs contain additional fonts that you should copy to your FONTS: directory. After you add new fonts to FONTS:, run the FixFonts program to create the .font file for the new additions.

The Topaz font is the default font used by the Amiga. In addition to existing in FONTS:, Topaz 8 and Topaz 9 are built into ROM so that text can always be displayed; however only Topaz 11 is in the Topaz directory.

Outline Fonts

The Compugraphic Intellifont outline font system used on the Amiga stores font data differently. As with the bitmap fonts, there is a .font file for each typeface. There is also a .otag file for each. The two subdirectories _bullet and _bullet_outlines contain the actual outline information for the typefaces installed on your system. You should not try to manipulate these files directly. Always use the Intellifont program or your applications' font installation tools to manage outline fonts.

LIBS: Directory

LIBS: contains libraries of software routines and math functions commonly used by the operating system and applications. The files found in the LIBS: directory are:

.library File Function
amigaguide.library Functions used by the AmigaGuide hypertext system.
asl.library File, font, and screen mode requester functions.
Bullet.library Library functions for finding and loading outline fonts.
Commodities.library Functions used by Commodities Exchange programs.
datatypes.library Functions for enabling manipulation ot the file types in DEVS:DataTypes.
Diskfont.library Library functions for finding and loading font files.
iffparse.library Functions to read IFF files.
locale.library Functions for using localization features in the Amiga operating system.
lowlevel.library Library to aid in game programming.
mathieeedoubbas.library Double-precision IEEE math routine functions for basic functions (addition, subtraction, and so forth).
mathieeedoubtrans.library Double-precision IEEE math routine functions for transcendental functions (sine, cosine, and so forth).
mathieeesingtrans.library Fast single-precision IEEE math routine functions.
Mathtrans.library FFP transcendental function math routine functions.
Realtime.library Function to synchronize multimedia events, such as music and animation.
Rexxsupport.library Functions used by ARexx.
Rexxsyslib.library Main ARexx functions.
Version.library Contains current software version and revision information.
68040.library Functions needed on Amigas using the 68040 microprocessor chip.


REXX: is another name normally assigned to the SYS:S directory in addition to S:. Storing any ARexx programs you write in REXX: allows you to execute them without entering the full path. Create a new directory and reASSIGN REXX: to it if you wish to keep ARexx programs separate from AmigaDOS scripts.


LOCALE: is where the Amiga looks for language and country files when it needs to display non-English text. On floppy systems, LOCALE: is the Locale floppy. On hard disk systems, it is the SYS:Locale directory.

LOCALE: contains four directories:

Countries Contains a .country file for all available countries. These files hold country-specific information, such as date/time format and monetary symbols.
Languages Contains .language files for the available languages. These files hold general language-specific information, such as the days of the week.
Catalogs Contains subdirectories for the available languages, each of which contains a Sys directory. This directory holds translated text for that language. Catalogs/<language>/Sys holds menu, gadget, and message text for that language.
Help (HELP:) Contains subdirectories for the available languages, each of which contains a Sys directory. This directory holds translated text for that language. Help/<language>/Sys is reserved for AmigaGuide text files for any applications that have AmigaGuide help in that language.


ENVARC: is the name assigned to the directory SYS:Prefs/Env-Archive. ENVARC: always contains a Sys directory, in which each of the Preferences editors stores the .prefs file created when you save a setting with its Save gadget. Custom default icons created in IconEdit are also saved here. (Named settings saved with the Save As menu item in an Editor are stored by default in the Prefs/Presets drawer.)

Other Workbench programs that allow you to save configuration settings, such as MultiView, also place their files in ENVARC:


ENV: is the directory RAM:Env, into which the contents of ENVARC: are copied when booting. Preferences settings activated with Save or Use gadgets are stored in ENV:. Global environment variables are also stored here, as small files.


The directory RAM:Clipboards has the assigned name CLIPS:. It stores information clipped with the Cut or Copy items on a program's Edit menu.


T: is the RAM:T directory, which may be used by scripts and some commands for storing miscellaneous temporary files.


The Classes directory stores information related to the object-oriented features of the Workbench, such as the DataTypes system upon which MultiView is based. Classes contains the directories DataTypes and Gadgets.


C: is the SYS:C directory, which stores non-internal AmigaDOS commands. It is always in the search path.