Hard Facts

By Gareth Babb

Originally published in EUG #07


Only try this is you are experienced at hacking Printed Circuit Boards apart. Neither I nor EUG can be responsible for what you do to your Electron!


First of all you will need the following components:

  1. an AP5
  2. a normal BBC hard drive
  3. an Acorn Plus 3 (not the AP3; the original L-shaped Acorn Plus 3 is the only Elk ADFS which has the hard drive code in!)
  4. a soldering iron and
  5. plenty of courage!

No extra software (apart from ADFS in the AP2) is needed as it is all already in ADFS. Fortunately Acorn included the Winchester code for future use in their ADFS.

AP5 Only

Only the AP5 has been tested to work with a HD; the other Pres one, the small cartridge, uses a PAL for address decoding so things are more difficult, though it may be possible to still take out the buffering, I have only ever seen the outside of this one! Slogger had a 1MHz bus, though I'm not too sure if they ever sold it: if you have got one then a HD may work straight off anyway. Slogger once had a HD connected to an Elk, though indeed this could have been via a modified AP5!


The only thing stopping ADFS recognising a HD plugged into the AP5 is the 1MHz bus itself. ACP/Pres mapped in only a handful of addresses which actually get through to the 1MHz bus (&FC00 - &FC0F, &FC80 - &FC8F, &FCA0 - &FCAF, &FCFF and &FD00 - &FDFF), whereas the HD controller resides at &FC40 - &FC47. They did this for a good reason. Quite a bit of Electron hardware resides in the range &FC00 - &FCFF, disk interfaces at &FCC0 - &FCCF (usually), user ports at &FCB0, serial interfaces at &FC60 etc. and the 1MHz is buffered so the buffering would cause all sorts of havoc on the data bus with these other peripherals unless it was enabled for only the needed addresses.

We could extend the range of addresses let through, but the easiest way is to remove the buffer chip completely and alter the decoding so that it lets all addresses through. And this is what I did. Because the 1MHz is now not buffered, you may have problems with long leads and some add-ons: my HD lead is about three feet long and I've never had any problems, though I cannot have both the HD and Music 5000 plugged in. The Music 5000 on its own is okay. Some of you who find this a problem and know how to extend the address decoding, may like to keep the buffering in.


First of all, take your AP5 apart. Under the 1MHz bus socket, to the right of the 6522 you will find three buffer chips (74SL244/5). The first two have to be removed, either desolder them completely or cut the legs and remove the legs from the sockets. The chips will not be needed again, but it may be wise to keep them in case you have to put them back, though they are fairly cheap chips anyway, about 80p each if you have to get new ones.

Next you have to wire up the sockets. Use a bit of wire (shielded is best) and they have to be wired in a slight diagonal from left to right (see the diagram) missing the top pair of holes entirely and missing the next one down on the right and the last one on the left.

Once that is done, the buffering is no more, all we need to do now is remove the address decoding, this can be done by taking the NPFC line from the edge connector straight to the 1MHz socket. Looking from the component side of the AP5 with the edge connector at the bottom, 14 pins in from the left (including the gaps, under the left row of pins of the second ROM socket) solder a wire in the hole just above the pin (how convenient!) and trail the wire up the board, round the top of the PCB and solder the end to pin 5 of the bottom row from the left (looking at the solder side), first removing the bit of wire from the top pin of the 74LS11 which normally goes there.

Next check you have done everything correctly and you have no shorts caused by stray solder splashes or whatever. Then put your AP5 back together, plug it back into the Plus 1, plug the HD into the 1MHz bus, turn the HD on, wait until the start up noises finish and then turn your Electron on.

Hopefully you should at least get a normal Electron sign up, if not turn off immediately and check your AP5 again. If you get a normal sign up but when you try to catalogue the HD, it goes for the floppy then check your AP5 again, ADFS still can't recognise the HD.

Once the HD is recognised (you can always tell anyway, as there is a slight delay on break/reset when ADFS reads the root and sets the library) then you have added a HD to your Electron.

If, when you try to get at the HD, you get a disk error, then the HD may not be formatted. In that case, use CTRL-F-BREAK (ADFS will not try to read the HD's root etc) and find a normal Beeb HD formatter and run that.

And ZySysHelp?

I'm not too sure about whether ZYSysHelp is needed anyone (it covers an area of the disk which ADFS writes over when it finds a disk error!) but I've put it on my HD just in case. It has to reside at the beginning of the disk (well, as close as any file can be) so you will have to delete everything on the HD and (the easiest was) copy a ZYSysHelp file from a floppy onto the HD (by the way, the floppy is now drive E (or 4) and the HD has become drive A (or 0), a second floppy is F (or 5) and a second hard drive (you can have two per controller) is B (or 1)). Most formatters put a Format directory on the HD when they format it; this contains a defect list and usually a copy of the formatter. Copy this onto a floppy before deleting it and copy it back after putting ZYSysHelp onto the HD.

A Few Final Points

A few points about using a Hard Disk with an Electron:

  1. remember to turn the cursor off before doing a *COMPACT. There can be an awful lot of data to corrupt on a HD!
  2. *BYE will park the HD's heads. It's best to do this before turning the thing off.
  3. make sure the AP5 is in the Plus 1 firmly.
A benefit of using a HD over floppies on the Elk (apart from the size and speed obviously!) is that in Modes 0-3 the screen will not flicker, the HD keeps up with the Elk, not the Elk keeping up with the HD, so a change of screen mode to speed things up is not needed. As well as a stable screen the keyboard is also left enabled during HD access, meaning you can type-ahead, very useful for Viewstore.