1 Introduction

What is HADFS?

The HADFS is a full hierarchial filing system similar to the NFS and ADFS systems. It runs on any 6502-based BBC computer, with any disk hardware. It is independent of the hardware configuration, adapting its operation to different requirements. HADFS formatted disks contain the ROM image for the system, allowing it to be easily distributed. The only requirements needed are a DFS (any sort) that supports OSWORD &7F to read and write sectors of the disk, and 16K of sideways RAM. As an alternative to the sideways RAM, the ROM image can be blown into an EPROM and permanently installed in the machine.

HADFS was written and is under continuing revision by:

Jonathan Harston 70 Camm Street Walkley Sheffield S6 3TR EMail: jgh@mdfs.net

and remains wholly copyrighted, (C)1990-2012. The program can be freely distibuted, as long as the code is not modified, and all copyright and authorship messages remain, and no charge is charged, other than legitimate disk purchase and copying costs. Ownership can be registered by writing to the above address, enclosing `5. This entitles you to a full printed reference manual and to immediate code updates. You are under no obligation to register, and you can probably manage with the manual contained these files.


Within this text, the following terms are used:

Press means press, ie put your finger on the key, push down, and then release, as in: Press "X".

Type means a succession of presses, ie pressing each individual key, as in: Type "fred". It does not mean press Return at the end.

Enter means type, and then press the Return key, ie enter in something, as in: Enter the filename.

Return refers to the key labelled RETURN (or sometimes ENTER).

Shift refers to the key labelled SHIFT.

Ctrl refers to the key labelled CTRL, and is called the control key.

Delete refers to the key labelled DELETE.

Break refers to the Break key.

Shift-Break means press the Break key while holding down the Shift key. The Shift key on its own does not do anything, so don't be afraid to hold it down longer than necessary. In fact, this is to be recommended.

Ctrl-Break means press the Break key while holding down the Ctrl key, similar to above.

K is a unit of storage size, being 1024 bytes. M is a unit of storage size, being 1024K, being 1,048,576 bytes. G is a unit of storage size, being 1024M, being 1,048,576K, being 1,073,741,824 bytes.

Text conventions

Within this manual, different styles of printing are used to differentiate between different things:

Ordinary text appears like this.

Text that appears on the screen, including error messages, *commands you type in and filenames appears in bold, like this:


Program names, specifying one of the HADFS programs appears in italics, like this: HUtils.

Subsection headings are underlines like this: Subject


There are two types of HADFS disk. There is an HADFS data disk, which just contains data, and an HADFS system disk. The only difference is the presence of an HADFSROM file on the HADFS disk. On booting up an HADFS disk for the first time with Shift-Break (or Shift-D-Break), any HADFS ROM image is loaded in and the machine is reset again. This only needs to be done if the ROM image is not present in an EPROM. If it is, then it is already present at power-on.

Unless otherwise stated, the manual will assume that the ROM image is in the machine, either in sideways RAM, or in an EPROM. If a second processor is attached when loading in the ROM image, then the message Press Break to
reset Tube
is given, and the Break key should be pressed to reset the second processor. An HADFS data disk does not have the ROM image on, thereby releasing 16K of space for extra files. In all other respects, HADFS data and system disks are identical. Once HADFS is in your machine, it can be selected by *HADFS or by H-Break.


I have written and tested HADFS on a variety of machines, with a variety of DFSs. At the moment, all the DFSs I've tested it with have been Acorn and Watford ones plus the Opus DDOS and the Electron ACP DFS, so I can't guarantee that it will work on others, but if it provides all the legal calls needed by HADFS, it will work. I have used HADFS on the following machines:

Electron, ACP DFS BBC, DFS 0.90 BBC, DFS 1.20 BBC, Watford DFS 1.43, 1.44 BBC B+, DFS 2.10 BBC B/B+, Opus DDOS 4 with keyboard link 2 set Master, DFS 2.24, 2.26, 2.29 Master Compact, DFS 2.24

also with: Aries-B32 sideways RAM Integra-B shadow RAM Watford 32K shadow RAM Watford ROM/RAM board Solidisk sideways RAM Solidisk DFS (limited testing) 6502 second processor (BBC and Master) Z80 second processor (BBC and Master) 32016 second processor (BBC and Master) ARM second processor (BBC and Master)

Shadow screens are recognised on: Master computers Aries-B32 Integra-B shadow RAM Watford 32K RAM card

HADFS needs the OSWORD call &7F provided by Acorn DFSs to read and write to disks. Some testing on the Electron has not been as full as on other machines. You are welcome to copy HADFS and give it to your friends, etc., as long as none of the code or files are changed.

System Startup Software

The System Startup disk contains all the software needed to start using HADFS. The disk contains the following directories: √Manual containing text files of this manual √Utils contains HADFS utility programs DMap, HDInit, HEdit, ≥ HUtils, MCat, MkIntern, MkMap, Rescue, SetDate, VisCompact, ≥ Wiper. √Library contains three groups of utility commands: ≥ HADFS commands: *BACKUP, *COMPACT, *Copy, *Disks, *Files. ≥ File commands: *CLoad, *CSave, *ETree, *FileInfo, *Filer, ≥ *PrList, *Repeat, *ScrLoad, *ScrSave, *SetExec, ≥ *SetLoad, *SetType, *SrLoad, *SrSave, *Stamp, ≥ *TreeCopy, *TxSave. ≥ Utility commands: *Break, *Crunch, *disp, *Explode, *KeyLoad, *KeySave ≥ *Link, *lp.*, *lpS, *MakeLP, *MCode, *MDump, *Mouse ≥ *Obey, *pc8s, *Repair, *ROMS, *Scroll, *Show, ≥ *VList. ≥ BASIC Programming library: BLib.* ņExtras contains various extras including demonstrations of using HADFS and HADFS extensions. Includes DemoArgs, DemoGBPB Examine, FSTest, MMCHADFS, RSImgFile, RSLink/s, Support/s.

HADFS is available in the following formats: ISBN 1-899366-00-8 Manual, 400K 5¨" disk, 400K 3ę" disk and EPROM `5.00

On special request, the startup disk can be supplied on 5¨" disks as: 2*5¨" 1*80trk 200K disks AB and CD `5.00 2*5¨" 2*40trk 200K disks AB and CD `5.00 4*5¨" 1*40trk 100K disks A, B, C and D `5.00 The software is split over the disks as: A: Utils and small Library B: Library, Extras C: Manual Chapters 1 to 5 and small Library D: Manual Chapters 6 to 10 and small Library