Infected by BBC Micro 30th birthday nostalgia, just before Christmas I bought a BBC Micro Model B from eBay for £25. Unfortunately it didn't have a disc drive (or even a disc interface), so I decided to make a cable to connect the BBC's User Port to a USB port on a modern computer (running Windows, MacOSX or Linux), thereby allowing the BBC to read from disc images stored on the PC as if it had a real disc drive attached.
The cable itself uses a Minimus AVR-USB board, costing an amazing £4.95, with a firmware based on Dean Camera's LUFA USB stack, which accepts commands from the BBC's User Port using a simple SCSI-like parallel messaging protocol. Commands from the BBC are forwarded over USB to the libusb-based fileserver program, and results returned to the BBC in a similar manner.
Here's a quick video demonstration:
I've tried it with fifty or so disc images downloaded from the Internet, and all appear to work fine. You can get the code from GitHub. No support for the Beeb writing to disc images yet, so you won't be able to save game positions, etc. I also need to add support for more than one drive, and some nicer way of swapping discs...having to ctrl-C the server program and then restarting it with a different disc image is a bit naff.
Right, enough of this blogging lark, I'm off to play Citadel.