ADFSlib is a Python module and tool for reading ADFS floppy disc images, for use alongside emulators of Acorn 8 bit microcomputers. This replaces the tool included in the T2Tools distribution.
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.
The ADFSlib module
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:
· 160K (S format)
· 320K (M format)
· 640K (L format)
· 800K (D format)
· 800K (E format)
· 1600K (E format)