I had a simple ambition of running DOS on my BBC Micro by using a Raspberry Pi Zero as a co-processor. This turned into the project that would never end!
Watch the video!
The Internet contains several videos and explanations of how it’s possible to make a BBC Micro run DOS by using a Raspberry Pi as a co-processor, running something called PiTubeDirect which makes the Pi emulate several different CPUs in such a way a BBC Micro can use them as a second processor.
Setting up a Gotek floppy emulator
This is quite a straight forward upgrade. You buy a Gotek that’s been configured for use on the BBC Micro using FlashFloppy. Then plug the Gotek into the bottom of the BBC Micro into its disk drive connector. That’s it.
I decided to house mine inside the casing of a real BBC Micro 5.25” floppy drive for a more authentic look.
After doing this the drive worked fine, but it could only read single and double sided disks. This is OK if all you want to do is run regular BBC Micro games and software. I wanted to run more exotic things stored using ADFS and other formats the BBC doesn’t natively understand.
Upgrading the floppy controller
To make the BBC understand higher capacity disks the disk controller chip needs upgrading. This is a moderately invasive upgrade which saw me completely destroying a poor little logic IC while trying to remove it. The existing floppy controller chip gets removed and replaced with a board containing a newer 1770 controller chip.
I then discovered I needed to also upgrade the ROM in the BBC to support ADFS…
This is where I actually learnt something. I have an EPROM writer, I found a random EPROM that I’d harvested long ago off a graphics card and figured it was a simple job to just write the ADFS ROM image onto that chip and stick it in the BBC.
Not quite. I learnt that the chip I had was actually a one-time programmable ROM so couldn’t be overwritten. Not to fear, I just figured I’d re-use the ROM that was making my old MMC “drive” for the BBC work. That had a little UV-erase window meaning it was an actual EPROM so all I needed to do was shine UV light on the window and wipe the chip.
Except I didn’t have a UV erasing box. So while one was on order from Amazon I thought I’d try and use something else. If you read about people erasing UV-EPROMS using those UV nail polish hardening lights, they must be doing something I couldn’t work out because 20 minutes of being shone with UV light did nothing to the data on the chip. I even tried the laser from my laser engraver as that looked somewhat UV. That didn’t do anything either. It didn’t even damage the chip…
The eraser turned up and I put the chip inside it for 20 minutes, which I soon learned was 15 minutes too long. Sure, the chip was now empty but also damaged and unable to be programmed. EPROMS of the correct type are hard to come by and I didn’t want to buy some from eBay and wait for them to arrive.
I had a look around my house at all the obsolete tech I own, and found an old JAMMA arcade board covered in EPROMS. One of those was extracted and after five minutes of UV exposure was blank enough to be written to, but not so blank it was damaged.
And so finally, after a chain of endless and arbitrary upgrades that would make even Microsoft annoyed I had a working BBC Micro with a Gotek drive, new disk controller chip and a Raspberry Pi Co-processor.
My BBC can now boot CP/M, and also boot DOS. It’s pretty cool and something I’ll be exploring later on.