Beebug


Advanced Disc User Guide

Author: James Fletcher
Publisher: Cambridge Microcomputer Centre
Machine: BBC Model B

 
Published in Beebug #35

Advanced Disc User Guide

The Advanced Disc User Guide is the latest in a series of highly acclaimed reference books from the Cambridge Micro Computer Centre. James Fletcher has been taking a look at the latest offering.

It is rare to find a technical tome that is written in such an enjoyable readable style as this 446-page Advanced Disc User Guide. I found the first few pages so interesting that I just had to keep on reading. The introduction claims that the book is meant to be read from start to finish, rather than just dipped into as a reference work. Although you would need to be very dedicated to read the whole thing at once, it does make sense to initially skim right through it so as to get some idea of the wealth of 'goodies' that it contains.

The word 'Advanced' in the title is most definitely justified, as some of the concepts used would only be of use to the experienced machine code programmer. However, the book contains such clear and straightforward explanations of the workings of the BBC Micro's disc system that it would be well worth a place on the bookshelf of any disc user who wants to know more about the system than the rather meagre amount of information he is offered in Acorn's Disc System User Guide.

The author has succeeded in explaining the workings of the fairly complex 8271 floppy disc controller chip in a remarkably clear manner; although much of the information can be found on the 8271 data sheets it is far from easy to work out what is happening with just the manufacturer's information, and the book uses simple but useful operational flowcharts to help the reader's understanding.

The lengthy but very detailed DFS memory map will appeal to those who just have to know what goes where, and the introduction to the filing system routines and vectors is cleverly done, with each description of a low-level DFS call being accompanied by a fully-documented machine-code example program. Although commands such as OSBGET (read a single byte from a specific file) and OSBPUT (write ditto) are primarily for internal use by the DFS and the machine operating system, you can learn a great deal by using these functions for yourself.

An excellent example of how to build up a random access filing system is given, and the detailed description of a stamp collection catalogue is ideally suited to the beginner, with each step being clearly explained. It is useful to have details of all the various Acorn DFS error messages, although I usually find these less than helpful when something really goes wrong, and the book gives good advice on error prevention and data protection.

Some of the disc utilities provided in the book are both interesting and useful, and I particularly liked the combined 40/80 track formatting program (see also Beebug Vol. 4 No. 4), and the examples of disc overlay techniques which apparently give your computer more memory. The pros and cons of the Acorn DFS are fully discussed, and some of the snags of choosing a non-Acorn DFS are pointed out. Although these can give significant advantages, such as unrestricted numbers of files on each disc, the advice 'regard alternative filing systems as a risk' ties in with my own experiences of some of these products.

All in all then, this is a most useful and interesting book. Perhaps not for the absolute beginner, but for anyone who wants to learn about any aspect of the Beeb's disc system this book is a must. If you can raise the £14.95 - buy it!

James Fletcher