Log. 17th September, 2008.
RetroClinic CompactFlash interface for BBC Master
A while back, I picked up a BBC Master 128 from one of the rounds of redundant equipment disposal at work - with a 30MB hard disk! I tested it, and apart from having to adjust the CMOS configuration, everything seemed to work - the hard disk even had a couple of games on it. However, my flat wasn't really conducive to playing around too much, so it got packed up and stored away.
I've since moved, and there's a lot more space to leave things set up, so I unpacked it and switched it on. The CMOS settings were all gone, and after fixing those, it turned out the disk must have suffered from transit. So I polled eBay for RLL hard disks (I wanted something that would directly replace the disk) - not one there, for some reason! But an outfit called RetroClinic (http://retroclinic.com/) were selling a CompactFlash kit which seemed like a top idea. Today I had the kit and a 1GB CF card together, so it was time to play.
I went home via Maplin to pick up a battery holder and replaced the old, corroded, plastic-wrapped battery pack with a proper holder, soldered the protection circuit inline with the power lead and hooked it back up so that I wouldn't have to keep configuring the machine.
The CompactFlash interface works a treat! The kit includes a patched ADFS that can talk IDE, though it does it in 8-bit words over a 16-bit interface. A quick browse suggests that the relevant IDE commands are all contained in the lower 8 bits, so this works fine, it just uses twice as much space (the top 8 bits of all data are clear). Given that the maximum space ADFS can use is 512MB and that it's probably hard to get a CF card of less than 1GB these days, this isn't much of an issue.
Unfortunately, software to manipulate ADFS seems to either only have read support or is shareware: time to write some tools! I'll mostly be wanting to copy files off DFS images (which existing tools will do just fine) and write them to an ADFS image, detecting and accounting for those images being in this slightly wasteful 16-bits-per-byte format.
Read-only FUSE modules exist for newer ADFS variants, so writing a read-write module for the format used by the Master seems like a good idea too. I'll consider that bridge when I come to it.