In Acorn's wisdom, they had chosen the Intel 8271 disk controller
for the BBC Micro - this controller was probably obsolete even before
the BBC Micro was launched. The Acorn disk upgrade comprised the 8271,
a handful of standard TTL ICs, an Acorn DFS ROM, and the disk manual. The ICs
plugged into unpopulated sockets on the motherboard.
A few hardy folks tried sourcing the parts separately - which was
fine, except that an 8271 tended to cost about £109 on its own, if
you could find one...
Clearly this wasn't a good state of affairs, and something needed to be done.
Solidisk had produced a daughter board which plugged in to the 8271
socket on the BBC motherboard. The daughter board carried a Western Digital
1770 disk controller - a more modern beast, which also supported double
density disks - wow!
[ If you don't think that double density was a big deal, remember that
the 8271 based disk upgrade could store a whole 200kBytes on a single
sided 80 track floppy, and 400kBytes on a double sided 80 track floppy.
If you only had 40 track drives, these capacities were halved.
How technology has changed! ]
The existance of the daughter board was quite clever. In Acorn's design of the BBC Micro, the floppy disk controller appears in the memory map from &FE80 - &FE9F - however only 3 address lines are made available to the floppy disk controller, and so only 8 locations are uniquely addressable (e.g. the same register will appear at &FE80, &FE88, &FE90, and &FE98). In practise, everyone used the set of 8 locations &FE80 - &FE87 when addressing the floppy disk controller. The 1770 disk controller has 4 memory-mapped registers. But it doesn't itself support multiple drives or the drive side select (in the way that the 8271 did). It supports both single and double density, but needs a way to be instructed which to use. The solution to these problems was to add a control register to the hardware (separate from the 1770), requiring a fifth memory address.
The Solidisk DDFS needed its own special DDFS ROM - the Acorn DFS
ROM wouldn't work as it was hard-coded for the 8271. The Solidisk DDFS code
supported the disk controller in both single and double density - in
double density you could write roughly twice as much on a double sided 80
track floppy (it used 16 sectors per track, as opposed to the 10 sectors of
single density) - and your friend with an Acorn DFS ROM couldn't read it :-(
There was also a Solidisk ADFS ROM, but I don't recall if it did
anything special - other than work with the Solidisk hardware.
Solidisk also produced a very neat piece of hardware, which they
called the DFDC (Dual Floppy Disk Controller - I guess). This was a
daughter board which plugged in to the 8271 socket on the BBC motherboard,
but this time the daughter board carried a Western Digital 1770 disk
controller AND a socket for the displaced 8271 disk controller.
There was a toggle switch so that you could switch between the
two disk controllers - although not whilst the machine was running, you
had to press BREAK or power cycle the computer.
As I recall, there was a special Solidisk DFDC ROM, or you could use
a Solidisk DDFS ROM and an Acorn DFS ROM together - the wrong DFS would
go quiet after a BREAK or power cycle.
I'm sure that there were other 1770-based solutions, but I didn't come across them. This page isn't supposed to imply that Solidisk were the only people in the game - or the best.
Anyway, Acorn brought out their own 1770 daughter board for the model B, and this was supplied with the Acorn 1770 DFS ROM - a totally different ROM from the Acorn DFS ROM (for the 8271). At around the same time, Acorn also introduced a new disk filing system - ADFS - which only worked with the 1770 disk controller, as it used double density exclusively.
Unfortunately for Solidisk DDFS/DFDC owners, the Acorn daughter board put the 1770 disk controller and the extra control register at different locations in the memory map from the Solidisk daughter board. As well as this, Acorn's usage of the extra control register was different. This meant that the Acorn ROMs (Acorn 1770 DFS, and Acorn ADFS) wouldn't work with the Solidisk boards. However Solidisk produced their own version of the ADFS which worked with their boards.
It was also possible to use the Solidisk ROMs with the Acorn hardware. The only practical advantage of this was that one could use the Solidisk DDFS ROM to access double density DFS disks.
It ought to be possible to convert a Solidisk version 1 DDFS or DFDC board to be Acorn compatible, but I've never tried to.
DDFS boards (disk upgrade) | DFDC boards (dual controllers) | |
---|---|---|
Version 1 (Solidisk hardware) | ddfs_v1.jpg | dfdc_v1.jpg |
Version 2 (Acorn compatible hardware) | ddfs_v2.jpg | dfdc_v2.jpg |
Hardware | FDC base | Control Register |
---|---|---|
Acorn BBC/B+, & Solidisk v2 | &FE84 - &FE87 | &FE80 |
Solidisk v1 | &FE80 - &FE83 | &FE86 |
Master 128 | &FE28 - &FE2B | &FE24 |