AmigaDOS

BCPL does not use native pointers, so the more advanced functionality of the operating system was difficult to use and error-prone.

This eliminated the interfacing problems in applications by automatically performing conversions from native pointers (such as those used by C or assembler) to BCPL equivalents and vice versa for all AmigaDOS functions.

It was developed from a primitive interface in AmigaOS 1.1, and became stable with versions 1.2 and 1.3, when it started to be known as AmigaShell and its original handler was replaced by newconsole.handler (NEWCON:).

The console has various features that were considered up to date when it was created in 1985, like command template help, redirection to null ("NIL:"), and ANSI color terminal.

The new console handler – which was implemented in release 1.2 – allows many more features, such as command history, pipelines, and automatic creation of files when output is redirected.

As in Unix systems, the Amiga console accepts only linefeed ("LF") as an end-of-line ("EOL") character.

AmigaDOS commands are expected to provide a standard "template" that describes the arguments they can accept.

Pressing space or any printing character on the keyboard suspends the console output.

To change them one can either use the command Protect, or use the Information entry from the Icons menu in Workbench on selected files.

AmigaDOS supports the following set of protection bits (abbreviated as HSPARWED): The H-bit has often been misunderstood to mean "Hide".

Demonstration of H-bit in action: As any other DOS, Amiga deals with environment variables as used in batch programming.

The examples below demonstrate simple usage: Global variables are kept as files in ENV:, and optionally saved on disk in ENVARC: to survive reboot and power cycling.

Since ENVARC: is also used to store other system settings than just string variables (such as system settings, default icons and more), it tends to grow large over time, and copying everything over to ENV: located on RAM disk becomes expensive.

[7] Indicating a device as "Dh0:", "DH0:" or "dh0:" always refers to the same partition; however, for file and directory names, this is filesystem-dependent, and some filesystems allow case sensitivity as a flag upon formatting.

This is very convenient when dealing with software ported over from the mostly case-sensitive Un*x world, but causes much confusion for native Amiga applications, which assume case insensitivity.

Both AmigaOS 4.x and MorphOS featured a new version of FFS called FastFileSystem 2.

(However, FF2 on AmigaOS 4.1 differs in that it can expand its features and capabilities with the aid of plug-ins).

Other filesystems like FAT12, FAT16, FAT32 from Windows or ext2 from Linux are available through easily installable (drag and drop) system libraries or third party modules such as FAT95 [8] (features read/write support), which can be found on the Aminet software repository.

AmigaOS 4.1 adopted a new filesystem called JXFS capable to support partitions over a terabyte of size.

However, any disk formatted with DOS0 using FFS or FFS2 can be read by any version of the Amiga operating system.

In addition to image data, the icon file also records program metadata such as options and keywords, its own position on the desktop (AmigaOS can "snapshot" icons in places defined by the user), and other information about the file.