|Home||David||Projects||The ADFSlib Module|
Note: This project is now being maintained as a project at
See the project's home page for news and further information.
The Advanced Disc Filing System (ADFS), the native filing system in use on RISC OS machines, was initially introduced by Acorn as a replacement for their Disc Filing System (DFS), appearing for microcomputers such as the Electron and Master Compact. Just as these computers used certain formats of disc with various capacities, all having a common structure, emulators of these systems are able to create, read and write "images" of such discs. This gives the modern user access to applications, data and games without the need to setup and maintain ageing hardware.
Emulators typically allow the original filing system software to be used, providing some abstraction at the emulated hardware level so that images rather than actual discs are manipulated. This is useful for accessing files in their original setting. However, if data is to be extracted for other purposes, tools are required to decode such images to recover files and, where possible, the directory structure. One such tool, ADF2INF, is able to manage this process for a number of disc image formats, using the ADFSlib library to interpret data found in disc images. Other tools may be found via the Stairway To Hell website.
This module provides a class with the minimum functionality required to attempt to read and interpret various formats of ADFS disc image. Since detailed documentation on many of these formats is not readily available and, since there is a scarcity of disc images for some, provision for reading the older formats is as yet untested. Having said that, it aims to be able to read the following formats:
Note that in previous versions of the ADF2INF tool, E format disc images were read incorrectly. The user is strongly advised to verify that their data has been transferred correctly when using this library or dependent tools to extract files from disc images.
This provides a command line interface to the ADFSlib library and replaces the tool of the same name which is distributed in the T2Tools package.