Header

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.

However this approach has a number of draw backs

  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. Consisting primarily 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 locating holes positioned to allow the interface board to be screwed onto the holes normally used to hold the drive in the PC case, though these can be trimmed off if not required - making the interface the same size as MiniB.

Unpopulated
An unpopulated IDE board showing the drive screw holes

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.

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
+09RW
+0ARW
+0BRW
+0Cunused 
+0Dunused 
+0Ealternative status on CS1R
+0Funused 

As the hardware supports 16 bit transfers, but the 6502 is an 8 bit CPU 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.


Availability

These boards are available now in either bare PCB form or ready assembled and tested. For self assembly, the schematic will help to track down any problems in conjunction with the component layout drawing.

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

Populated
A completed IDE interface board
Orders can be placed online, or alternatively sent by post:

Option: Price: Comments:
PCB pre fitted with 74HCT646 logic buffer and dual diode
£22.50 inc postage
The remaining chips, 1MHz bus ribbon cable and connectors must be sourced and fitted
You will need a suitable 12V/5V power supply, drive, 40 way IDE cable, and optionally an external case
PCB fully populated and tested
£42.50 inc 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 optionally an external case
PCB fully populated plus preformatted drive
£52.50 inc postage
Fully populated PCB as shown above
Includes approx 60cm of ribbon cable to the 1MHz bus port
Supplied with preformatted drive with the maximum sized 512MB partition (ie.a 1GB or larger drive)
You will need a suitable 12V/5V power supply, and optionally an external case

©2011 SPROW [Updated 02-Jul-2011] | home
Valid HTML 4.01