8-Bit Software Online Conversion

8-bit Software (c) Duncan Webster January 1992 Issue 18 Jan/Feb 1992 Harston ADFS ROM At present, there are two main types of disc filing system available on the BBC Microcomputers. The oldest and most popular to a large extent amoungst BBC Micro owners is the Acorn DFS. Amoungst Master owners, the Acorn ADFS is the most popular system by allowing greater storage space and a much improved directory structure that does not limit the user to 31 filenames per disc - a practice that became severely constricting as storage space increased with the advent of Double Debsity mediums. The scholars amoungst you may well know of the Network Filing System or NFS which is used with Econet systems. Basically, an Econet system makes it possible to have several BBC Microcomputers running from a single Econet "file server" without having to install DFS hardware and ports in every machine thus keeping expenses down. Instead, all "Econet" BBC micro's share the same storage medium. There is a cut down version of the Master 128, called the Master "Econet Terminal" or ET for short which is specifically designed for use with Econet and thus cheaper than a Master 128. Using an Econet terminal is very similar to using the standard ADFS system with a few additions and subtle differences. Generally, these differences include a security system and a host of "access" commands in order to determine who has access to what. Econet systems may well have changed since I last used one so the above is not to be taken literally. In order to fully understand the basics of the HADFS ROM, it is worthwhile explaining how an Econet system works in greater detail. Having got the idea of the operation of an Econet system - understanding HADFS should (hopefully) be a little easier. Basically, Econet works like this ... The $ (root) directory will contain your "User Name" which is basically a directory. For exmple if I was to catalogue my Econet Terminal I might see this ... >*CAT $ (07) Public 8-bit Soft Option 0 (off) Dir. $ Lib. $ DUNCAN D/ ) ANDREW D/ ) SMITH D/ ) All these are Usernames ADRIAN D/ ) which appear and behave JAMES D/ ) like directories. JOHN D/ ) >*I AM DUNCAN 8BS105 >*CAT TITLE Owner DUNCAN Dir. DUNCAN Option 0 (off) !boot WR/R !server WR/R SERVER9 WR/R SERVER1 WR/R SERVER2 WR/R SERVER3 WR/R GAMES WR/WR GAMES2 WR/WR GAMES3 WR/WR SYSTEM D/ >CHAIN"SERVER1" etc .... I cannot remember if I have got this exactly spot-on so please do not write in pointing out any little errors I may have made here, but the gist of the above is correct. Basically, the root directory contains the "User Names" which are basically a list of sub-directories. The important difference is how they are accessed. Using the procedure given above I am logging onto directory DUNCAN as the "owner" of that directory. I do this by entering *I AM DUNCAN plus my password (optional) of 8BS105. The Econet system will then grant me access to DUNCAN and allow me to make any changes I see fit (ie. deleting files, SAVEing files etc). As I am the "owner" of directory DUNCAN, I have control over which of my programs contained within the DUNCAN directory are "public" (ie. anyone can look at them) or "Private" (ie. for my eyes only). There are other combinations which I shall explain later ... Supposing I wanted to access ADRIAN's directory. Even though I am not ADRIAN and I do not know ADRIAN's password, I can still view ADRIAN's directory and load some of his programs PROVIDED he has allowed me to. Consider the following ... >*NET <- this just selects the Econet System >*DIR $.ADRIAN <- this selects Directory ADRIAN >*CAT <- this catalogues the Directory TITLE Owner ADRIAN Dir. ADRIAN Option 0 (off) !boot LR/ Prog1 LR/ Prog2 WR/WR Prog3 WR/R > I can view ADRIAN's directory by issuing the standard *DIR command (although this can also be prevented for "Private" directories), but I am only using ADRIAN's directory as a "guest" and NOT an "owner". As mentioned already, ADRIAN can control what I am allowed to look at and what I am not allowed to look at ... All of the above files have an attribute (ie. Prog3 WR/R) - the "WR/R" informs who has access to what. The letters to the left of the "/" denote "owner" access flags and the letters to the right of the "/" denote "guest" or "user" access flags. These access flags can be set at the "owners" will. W = Write enabled R = Read enabled D = Directory (system set of course) L = Locked Referring to the above catalogue, I am only allowed to load files "Prog2" and "Prog3" as they have the "R" (read enables) access flag set to the right of the slash "/". I am also allowed to modify "Prog2" as it has a "W" flag (for write enabled) set to the right of the slash "/". I am allowed to READ "Prog3", but I am not allowed to write to it (ie. I cannot SAVE "Prog3"). So as you can see it is up to the "owner" of the directory (ADRIAN) as to whether other users can view/amend the software within that directory. That is a very basic overview of how a working Econet system can be run. It is a multi-user system opertaing from one storage medium with the necessary security utilities built in. Well I hope you have grasped all that - now I shall go into the HADFS in more detail ... The HADFS ROM In short, the HADFS ROM is useful in two main areas ... Firstly, it provides you with a hierarchial directory structure as ADFS users currently enjoy on the Master and upgraded Model B's. However, unlike the Acorn ADFS you do not need a 1770 Floppy Disc Controller installed as HADFS will run quite happily on 8271 versions. To the layman, HADFS will run on most Acorn DFS systems - It is not known about other manufacturers filing systems. The second advantage, is that HADFS emulates an Econet environment to a certain extent thus providing a few "Econet" type commands as well as supporting many standard DFS/ADFS commands. So do we have the best of both worlds using HADFS for free? Read on ... To use HADFS (which is supplied on DFS disc), you will need 16k of Sideways RAM minimum. If you do not have this then is is best to get the ROM image supplied on disc blown into EPROM. To install HADFS, all you have to do is load the ROM image into SWR and pressing CTRL+BREAK will put you into HADFS. You can still switch to DFS by entering *DISC as normal thus keeping programs stored on standard DFS discs within easy reach. If you have Acorn DFS version 0.90 installed in your machine (find out by entering *HELP DFS) then you will come across a problem with the header message informing you of "No DFS ROM". This is due to a bug in the DFS itself and HADFS does cater for this (to a certain extent) as you will see later. Ignore this message (if there) for now. Initial power on of the BBC, or a "power-on reset" will display a copyright message - subsequent CTRL-BREAKS & BREAKS will only produce the header message similar to this .... BBC Computer 32k Harston ADFS BASIC > You would be forgiven for assuming that the HADFS filing system is now selected and issuing a *CAT command would present an HADFS catalogue. Not so I'm afraid - I spent several minutes getting a "Sector not found at xxxx" error before realising that I had to issue a *HADFS command to initialise the ROM - despite "Harston ADFS" appearing in the header message. After pressing CTRL-BREAK or just BREAK it seems that you are neither in DFS, ADFS or HADFS and thus you cannot read any disc. The error message produced makes one immeadiately think that the disc is corrupted in some way. Instead, you are expected to issue the *HADFS command after each BREAK keypress. Having done this you can proceed to use the HADFS system proper. Users with Acorn DFS version 0.90 will need to enter HADFS in a different way. You can tell whether you need to do this as the break header message will contain the words "No DFS ROM". If you are presented with this, then you must select HADFS by entering *HADFS # (that is the hash character - SHIFT+3). However, it is not as easy as that for version 0.90 users. For some reason, I found that as soon as <break> was pressed, I had to clear my SWR and re-load the HADFS ROM image before I could gain access to it again - failure to do so kept producing a "DMA" error. This alone really makes the HADFS ROM too much of a nuisance to use for DFS 0.90 users. Even when I had freshly loaded the ROM image I still received error messages before access to HADFS was possible. Fortunately the problem does not occur on later versions of DFS. Once in HADFS, many standard filing system commands apply - but some do not (see later). One important exception here is BASIC's file handling commands such as OPENOUT, BPUT etc. which means that any programs using these commands will not work under HADFS (such as SYSTEMS server). Another noticable omission is ADFS's *BACK command which does not appear to be supported either. Once in HADFS, you can *CAT the root directory and you will be presented with an "Econet" type environment. The password routines have not yet been incorporated into HADFS and therefore security is non-existent. You can create sub-directories and load and save programs in the same was as ADFS. All programs newly SAVEd to an HADFS disc are given the access tag of WR/WR meaning that anybody can read/write that particular filename irrespective of whether they "own" that particular directory. With the absence of security as mentioned above, there is little point in amending the access tags, but the feature is supported all the same. For example, after a *HADFS command I can *CAT the $ (root) directory which would give me a printout similar to the following ... 8-bit Software (07) Owner 00 DISC 01 Option 0 (off) Dir. $ Lib $ GAMES DL/ MENU WR/WR UTILS DL/ DATA WR/WR EDUCATN DL/ SYSTEM DL/ In order to amend the access tags of a particular file, you must be the "owner" of the directory in which they reside - the same principle as Econet systems. The HADFS command *SETUSER creates "owner" directories, which must then be subsequently selected using the *I AM command. This will then make you the "owner" of the directory concerned and thus you could amend the access tags of any file or directory therein. For example, to become the owner of a directory called GAMES I must first amend the dir. user number via the *SETUSER command. Once this has been performed, I can select the GAMES directory in one of 2 ways as follows ... 1. The command *I AM GAMES peoduces the same result as *DIR GAMES, except that it selects the GAMES directory on "owner" status. 2. The command *DIR GAMES would still allow me into the GAMES directory, but not as the "owner". I would therefore not be allowed to amend any access tags (nor be able to load any program) that didn't have a letter "R" to the right of the slash "/" - example WR/WR (see above). This works in exactly the same way as Econet. Obviously, all this is a rather pointless exercise for most people because anyone who gets hold of your disc can just issue the command *I AM GAMES and amend all the access tags just as you have done. The whole point of the above at present is to emulate an Econet environment thus enabling existing Econet users to use the same commands on their home micro's. There is also the advantage in the fact that most "Econet Reliant" software (ie. programs containing Econet system calls) will work without conversion. The manual is essentially well written, but concentrates on listing the commands and features of HADFS rather than giving step by step instructions for beginners. The novice therfore will probably find the manual a little out of order and difficult to grasp. Another major problem is the fact that the manual itself is saved under HADFS format and thus you have to figure out how to get into the HADFS environment without a manual before you could actually read the manual which tells you how to perform the operations you have just guessed at??!! I spent a long time guessing before I worked out that I wasn't in the HADFS system and had to issue the *HADFS command. Even this failed to work on my backup Model B which contains the bug-ridden DFS version 0.90. If the manual could be provided in DFS or ADFS it would have been a great help and would have saved a lot of lumps on my head, dents in the computer and deep scratches on the disc. It is worth noting that HADFS discs are not compatible with Acorn ADFS disc formats as the two filing systems are totally incompatible. There is a "copyfiles" type routine amoungst many others provided within a "library" directory on the HADFS disc. In addition to this, many standard commands such as *BACKUP and *COMPACT have yet to be written and thus will not work. So is HADFS of any real benefit to 8BS members? Well a ROM Image of HADFS is supplied on the issue disc together with the manuals in DFS format (available from the program menu) so you will be able to figure out for yourself. However my initial conclusions are as follows ... CONCLUSIONS Until a password routine is written for the HADFS, the best use for the system is the ability to get around the 31 filename limit at present, plus the benefit of the hirearchial "ADFS type" directory structure. So if you are still plodding on with DFS then HADFS is a worthwhile system - just keep a regular DFS backup of all your work. Those members already familiar with Econet environments will take to HADFS like a duck to water and if it wasn't for the lack of support for BASIC's essential file handling commands (such as BPUT and OPENOUT) I would definately recommend HADFS as opposed to DFS systems - especially if you are a regular user of an Econet Terminal at school or college as you would be able to use the same environment at home as at work. If you already have Acorn ADFS and do not use Econet, then HADFS in it's present version is really only of curiosity value. I myself found the system extremely interesting to use and explore, but I was not tempted away from ADFS, nor was I inclined to put 8BS software in HADFS format until the system becomes more user-friendly and easier to load and select. Having said this, the author points out in his manual that HADFS is constantly under-development and improved versions are being planned all the time. This review may sound rather negative in area's, but on reflection I feel that the only problem with HADFS is that it is just not yet finished. When it is finished and all features are working then it is certainly going to give the DFS/ADFS systems a run for their money. As far as cost is concerned, HADFS is free - otherwise I would not be putting it on the 8BS issue disc. However you are invited to send off a registration fee in order to automatically receive future versions and news. As for myself, I intend to keep a close eye on the development of the HADFS system and who knows, 8BS discs may well appear on HADFS format sometime in the future. ---------------------------------------------------------------------- If you are interested in the future development of HADFS, or if you would like to be kept up to date with new versions then please write to Harston P.D. direct at the address below. Harston P.D. is itself a fairly large P.D. library with most software being available in HADFS format. The Complete HADFS ROM (including library functions not on the 8BS disc) are also available from Harston P.D. Please write for a catalogue (enclosing an S.A.E.) to ... Harston P.D. 70 Camm Street Walkley Sheffield S6 3TR I would also like to take this opportunity to thank Johnathan Harston for his kind permission to distribute his HADFS ROM, plus all the nice things he said about Watford Electronics (!) after reading the DDFS article last issue - I am following this up Johnathan (not mentioning any names of course). ---------------------------------------------------------------------- The ROM Image supplied on issue 18 contains the HADFS ROM only and does not contain the "library" OS commands that are supplied with every HADFS "system" disc available from Harston P.D. HADFS comes with a 2 large manuals and a few "Readme" help files in order to get you going. The main users guide has been saved to this issue disc under the filename T.HADFS and can ve viewed from the 8BS program menu. Further techical manuals are available direct from Harston P.D. Obviously, a lot of questions are going to arise from members who attempt to make use of the HADFS ROM. Please send ALL your questions, problems and ideas to 8BS for inclusion in the programmers return in a future issue. Your questions should (hopefully) be answered by Harston P.D. in due course. Duncan Webster.