World Library  
Flag as Inappropriate
Email this Article

Amiga Old File System

Article Id: WHEBN0000844938
Reproduction Date:

Title: Amiga Old File System  
Author: World Heritage Encyclopedia
Language: English
Subject: Amiga Fast File System, Professional File System, AmigaOS, BOOPSI, Amiga
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Amiga Old File System

On the Amiga, the Old File System was the filesystem for Amiga OS before the Amiga Fast File System. Even though it used 512-byte blocks, it reserved the first small portion of each block for metadata, leaving an actual data block capacity of 488 bytes per block. It wasn't very suitable for anything except floppy disks, and it was soon replaced.

History

Originally known as Amiga File System, the filesystem itself was very similar to that of Xerox Alto Filesystem. Development was from 1982 to 1985 as the filesystem of TripOS. It received the nickname of "Old" or "Original" when Fast File System was released with Amiga OS 1.3.

OFS is very good for repairing the filesystem in the event of a problem, although the so-called DiskDoctor provided by Commodore quickly earned the name DiskDestroyer, because it could not repair No-DOS type autostart disks provided by third-party software manufacturers as bootable disks for games. Interestingly, the idea to create non-standard autobootable disks was born in a primitive attempt to prevent copy of such disks and to avoid the loading and launch of Amiga DOS, in order to directly access the amiga graphic, audio and memory chipsets. DiskDoctor in fact changed autostart disks bootblocks into standard AmigaDOS-based ones, renaming a disk with "Lazarus" namedisk, and made the autostart disk unusable.

Metacomco, BSTRINGS, BPOINTERS, and family contained in the Amiga FS entered the scene when it was decided that the originally planned OS would take too long to be developed in time for the launch of Amiga. Consequently, Metacomco grafted onto the filesystem a lot of things that the old Amiga Inc. has changed.

Characteristics of AmigaDOS Floppy Disks

Amiga uses MFM encoding/decoding by default when handling floppy disks. There are 80 cylinders on an Amiga floppy disk. Each cylinder has 2 MFM tracks, one on each side of the disk. Double density (DD) disks have 11 sectors per MFM track, high density (HD) disks have 22 sectors.

The geometry of an Amiga floppy disk is as follows:

  • DD disks: 512 bytes/sector, 11 sector/track, 2 track/cyl, 80 cyl/disk
  • HD disks: 512 bytes/sector, 22 sector/track, 2 track/cyl, 80 cyl/disk

The DD disk has 11 * 2 * 80 = 1760 (0 to 1759) blocks, while the HD disk has 22 * 2 * 80 = 3520 blocks.

Amiga stores 880 KiB on a DD disk and 1760 KiB on an HD floppy disk.

Characteristics of Files under AmigaDOS

Prior to AmigaOS 3.5, AmigaDOS file handles maintained a 32 bit wide offset parameter (unsigned), telling where to start the next read or write operation. The biggest size for any single Amiga file under these operating systems therefore comes to 232 = 4 GiB. After Amiga OS 3.5, file handles may reference 264 = 4 EiB files. However, OFS-formatted disks continue to retain the 32-bit limitations, for that is an intrinsic limitation of the format as recorded on the media.

An OFS datablock stores block size BSIZE-24 bytes (i.e. normally 488 bytes at most frequently used BSIZE of 512 bytes).

The rootblock is located at the physical middle of the media: block number 880 for DD disks, block 1760 for HDs. This helps minimize seek times.

The exact calculation for where it is stored is as follows:

numCyls = highCyl - lowCyl + 1

highKey = numCyls * numSurfaces * numBlocksPerTrack - 1

rootKey = INT (numReserved + highKey) / 2

The rootblock contains information about the disk: its name, its formatting date, etc. It also contains information on accessing the files/directories/links located at the uppermost (root) directory.

The characters '/' and ':' are forbidden in file and volume names, but *!@#$%|^+&_()=\-[]{}';",<>.? and letters with diacritical marks like âè are allowed.

The date fields in the root block (and other blocks) are structured in the form of DAYS, MINS and TICKS. The DAYS field contains the number of days since January 1. 1978. MINS is the number of minutes that have passed since midnight and TICKS are expressed in 1/50s of a second. A day value of zero is considered illegal by most programs. Since the DAYS value is stored as a 32-bit number, the Amiga filesystem does not have an inherent Year 2000 problem or Year 2038 problem.

To reach a file, directory or link, AmigaDOS uses a hash function to calculate which 32-bit word in the disk block to use as a pointer to a hash bucket list, which in turn contains the file, directory, or link record. A bucket list is used to support filesystem objects with names that hash to the same offset. For example: file_1a, file_24 and file_5u have the same hash value.

Filename characters can be lowercase and uppercase, but are not case sensitive when accessed. That is to say, "MyFile" and "myfile" in the same directory refer to the same file.

Files are composed of a file header block, which contains information about the file (size, last access time, data block pointers, etc.), and the data blocks, which contain the actual data. The file header block contains up to BSIZE/4-56 data block pointers (which amounts to 72 entries with the usual 512 byte blocks). If a file is larger than that, file extension blocks will be allocated to hold the data block pointers. File extension blocks are organised in a linked list, which starts in the file header block ('extension' field).

See also

External links

  • The ADFlib Page and precisely ADF File specs
  • The ADF specs in LHA format, from Aminet
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.