Please enable JavaScript to view this site.

A-Shell Reference

Navigation: About A-Shell > File System Organization

DevPPN Directory Structure

Scroll Prev Top Next More

The A-Shell directory structure is made up of the following components:

A "device" consisting of a three or four alphabetic character device name and a one to three digit unit number, such as "DSK0" or “DOC12”. Devices are normally referred to with a trailing colon, i.e. DSK0: or DOC12: (identifying it as a device and separating it from the filename).
A PPN consisting of a pair of one to three digit numbers, such as 1,4 or 923,255. PPNs are often enclosed in brackets, i.e. [1,4] or [923,255]. This is optional when the context is clear, such as DSK0:1,4 but mandatory when combined with a filename, e.g. DIR.LIT[1,4].

Device names and unit numbers correspond historically to physical devices and partitions within each device. For example, a system might have two different types of physical disks, named DSK and DKX, each of which was divided into three partitions, e.g. DSK0, DSK1, DSK2 and DKX0, DKX1, and DKX2. The device name may be either three or four alphabetic characters long, while the unit number may be one to three digits, with an overall limit of six characters. So DSK123 and BACK27 are legal names, while DZ1234 and WACKY1 are not.

PPN originally referred to “Project” and “Programmer Number”, but evolved to simply represent a two level grouping of individual directories. For the most part these PPN numbers are arbitrary, except that the project values one through seven are reserved for system files, and the [x,0] directory within each project has special meaning in the Command Search Path.

The overall scheme is known as "DevPPN."

When A-Shell is installed in Windows or Unix, its DevPPN directory scheme is mapped on top of the native multi-level path system by associating each device with an arbitrary path—think of it like a logical mount point—via DEVICE statements in the miame.ini file. Beneath the device directory, each PPN corresponds to a six-digit subdirectory with each of the two parts expanded to three digits. So [1,4] becomes 001004 and [123,45] becomes 123045.

For example, if DSK0: is explicitly mapped to C:\VM\MIAME\DSK0\ then DSK0:[1,4] would implicitly map to C:\VM\MIAME\DSK0\001004\. Or in the Unix case, if DOC13: is explicitly mapped to /vm/library/documents/ then DOC13:[15,345] would implicitly map to /vm/library/documents/015345/.

Aside from these A-Shell devices which are mapped to native directories, A-Shell also supports ersatz devices which map to A-Shell devices or PPNs.