BeebIDE harddisc interface for the BBC series

[Front page] [BBC Mecca] [Links] [PIC micros] [Enviromyths] [The dump] [Email]

On this page

A short history of harddiscs on the BBC

When the BBC Micro and BBC Master series were designed mass storage devices were few and far between, mainly because of the high cost of purchase. A 5MB drive would normally be enough storage for an entire class of users, with the expensive drive being shared across a network.

The original drives used the SASI interface (largely equivalent to a SCSI I interface) which made writing the hardware drivers relatively simple, using high level "sector" operations to talk to the logical layout of the drive. There were also Winchester drives using a proprietary interface between the micro and the drive itself.

However this approach has a number of drawbacks

  1. Original drives are hard to obtain and, being old, are unreliable
  2. New SCSI drives rarely support the 256 byte sectors required by the filing systems and cannot be reformatted
  3. Nobody makes the SCSI host interface PCBs
An alternative approach is to use the readily available integrated drive electronics discs robbed from a PC, or purchased from your local computer supplier for a few pounds.

About the interface

The interface board is a new design which joins to the 1MHz port on the BBC, bridging it to an IDE port. Consult the schematic and see it primarily consists of address decoding, some latches and buffers, the only additional parts required are a standard 40 pin ribbon cable and the chosen drive.

There are four locating holes spaced to allow the entire interface board to be screwed onto the holes normally intended to hold the drive in the PC case, though that's not essential and the holes could just be used for alternative mounting in a box.

Beeb IDE alone
The unmounted interface and 1MHz bus ribbon

Jumper links on the PCB determine where in the memory map the drives appear to software, each interface taking 16 bytes in the range &FC40-FC4F or &FC50-FC5F as desired. As each interface can drive a master/slave combination this gives a potential for up to 4 IDE drives in total by using two interfaces with the address jumpers set in opposite senses.

Though filing system software would be required, there's no reason in principle why an ATAPI device could not appear amongst the 4 drives - opening up the possibility of support for CD-ROM as well as harddisc storage.

Technical details

For the technically minded, the interface comprises

Jumpers define the region in the memory map which the interface appears, with &FC40 being the default. Within this the decoding selects:

Offset Description Access
+00data (low byte) on CS0RW
+01error on CS0R
+02count on CS0RW
+03sector on CS0RW
+04cylinder (low) on CS0RW
+05cylinder (high) on CS0RW
+06head on CS0RW
+07status on CS0R
+08data (high byte)RW
+0Ealternative status on CS1R

While the interface hardware supports 16 bit transfers to the drive, the 6502 is an 8 bit CPU, so the wider transfers must be completed in two stages:

Note that some registers have different meanings if the drive is programmed to run in logical block addressing mode. For a more complete description of what the registers mean consult the ATA command document.


These boards are available now either as a ready assembled and tested interface, and also with pre-formatted ADFS drive included.

The updated filing system ROM containing ADFS with support for IDE drives should be downloaded along with the formatting program, HDInit, written in BASIC.

Beeb IDE and drive
Interface board affixed to a typical 3.5" style IDE drive
Orders can be placed online, or alternatively sent by post:

Option: Price: Comments:
PCB fully populated and tested
£44.50 inc inland UK postage
£48.50 inc airmail postage
Fully populated PCB as shown above
Includes approx 60cm of ribbon cable to the 1MHz bus port
You will need a suitable 12V/5V power supply, drive, 40 way IDE cable, and ADFS ROM
PCB fully populated plus preformatted drive
£59.50 inc inland UK postage
£77.00 inc airmail postage
Fully populated PCB as shown above
Includes approx 60cm of ribbon cable to the 1MHz bus port
Includes a molex 4 pin 'Y' adapter to power drive and interface board from a single inlet
Includes a short interlinking data ribbon cable to the drive
Supplied with preformatted drive with two maximum sized 512MB partitions (ie.a 1GB or larger drive)
You will need a suitable 12V/5V power supply, and ADFS ROM

©2023 SPROW [Updated 20-Dec-2023] | home
Valid HTML 4.01