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@arcade.demon.co.uk

and remains wholly copyrighted, (C) 1990-1998.  The program is Public Domain, and 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 £10.  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.

Definitions
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.

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 filesnames
	 appears in bold, like this:

	*CAT

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

	Subsection headings are underlines like this: Subject

Startup
There are two types of HADFS disk.  These is an HADFS data disk, which just contains data, and an HADFS system disk.  An HADFS system disk contains three things.  A DFS !Boot file to bootstrap the HADFS Rom, the HADFS Rom image, and the HADFS disk data.  There is also a SPARE file which is used to create an extra boot file for machines with no HADFS. On booting up an HADFS disk for the first time with Shift-Break (or Shift- D-Break), the 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.  There is no way to universally reset a second processor from software, so you have to press the Break key yourself.  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. 

On power-up, or a simulated power-up caused by *FX151,78,127 followed by a Break, the authorship and copyright message is displayed.  On all other resets this message is not displayed, so giving the standard startup display.  Once HADFS is in your machine, it can be selected by *HADFS or by H-Break.

Compatability
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 ones, 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:

	BBC, DFS 0.90
	BBC, DFS 1.20
	BBC B+
	Master, DFS 2.24
	Master Compact, DFS 2.24

also with:
	Watford Rom/Ram board
	Aries-B32 sideways Ram
	Solidisk sideways ram
	Solidisk DFS (limited testing)
	6502 second processor (BBC and Master)
	Z80 second processor (BBC)

Shadow screens are recognised on:
	Master computers
	Aries-B32
	Watford 32k Ram card

HADFS needs the Osword call &7F provided by Acorn DFSs to read and write to disks.  I haven't yet been able to test it properly on an Electron, as although I have a disk interface for it, I haven't got a Plus-One, so I can't plug it in.  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:
 ÃHFS_Manual	containing text files of this manual
 ÃUtils	contains HADFS utility programs CATALL, COPYFILES, D_Map,
 ³		H-Edit, H-Utils, MCat, RESCUE, S/Intern, VisCompact
 Ã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, *SetType,
 ³		    *SrLoad, *SrSave, *Stamp, *TREECOPY, *TxSave.
 ³		Utility commands: *Break, *disp, *Explode, *lp.*, *lpS,
 ³		    *MAKELP, *MCODE, *MDump, *Mouse, *pc8, *REPAIR, *Roms,
 ³		    *SCROLL, *Show, *VList.
 ÀExtras	contains various extras including demonstrations of using
		HADFS and HADFS extensions.  Includes FindPath, PrInfo,
		DemoGbPb, ProgLib, S/NFSFront, S/RamDisk, S/FredDisk.

HADFS is available in the following formats:
  ISBN 1-899366-00-8  Manual and 2*80trk 400k 5¼" and 3½" disks		   £5.00

The individual items are available as:
  ISBN 1-899366-40-7  HADFS Reference manual			   £5.00
  ISBN 1-899366-01-6  1*5¼" 2*80trk 400k disk			   £5.00
  ISBN 1-899366-11-3  1*3½" 2*80trk 400k disk			   £5.00
  ISBN 1-899366-30-X  HADFS 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: HFS_Manual Chapters 1 to 5 and small Library
	D: HFS_Manual Chapters 6 to 10 and small Library