Revitalizing a BBC Micro
Moving house means making possessions count so my collection of vintage computers has shrunk over the years and the bar keeps getting higher. Right now:
- It works – Test it, repair it or part with it. A wealth of online technical information makes this easier than ever.
- A small footprint – Eject unusable peripherals and accessories. Keep the essentials.
- Make it usable – Forget slow-loading tapes and corrupt disks, a fast loading is essential.
- Something special – It should either be collectible or one I have a connection with.
Recent casualties were my Apple ][e (no disks), Acorn ARM (wouldn’t boot) and Commodore VIC 20 (poor state). Next up is my Acorn BBC Micro B:
My ‘Beeb’ is in good condition and works well although the case screws have long since disappeared (a common theme in my collection) and it needed a good clean. These older mechanical keyboards attract serious dust and dirt.
Schools were filled with BBCs in the 80s and I’ve written about the origins of this love affair before. I learned first BBC BASIC and then some 6502 assembly (mixing it with Basic) while at school. I later picked this machine up around 91 after seeing a local paper advertisement.
A giant twin 5.25″ drive housing system (shown above) contained my one still-functional floppy drive. I want to be able to read some physical disks but in keeping with the minimal footprint I transplanted the floppy drive into a 5.25″ externally powered CD-ROM enclosure. Big reduction.
The BBC Micro has a few video output options – UHF, composite over BNC and RGB over 6-pin DIN connector. By a staggering coincidence the pin out is identical to the Amstrad CPC so works directly my Amstrad monitor, no adaptor cable required this time!
Replacement media, SD cards via GoSDC
SD cards are my replacement storage of choice for vintage systems. I chose John Kortink’s GoSDC for the following reasons:
- Supports MMC, SD, SDHC up to 32GB
- Internally fits into a spare ROM socket
- Adds operating system commands for great integration
- Supports disc images, tape images and ROM images
Retro Isle comprehensively reviewed GoSDC in February (2015) and have a bunch of usage tips and tricks too.
Getting started with GoSDC
The device plugs into a ROM slot but to make life easy you can give it access to a second one so it can patch the filing system. The docs are complex as they describe the many possibilities available. Here’s my setup that works well on a BBC Micro Model B (known as Option B in the docs):
- Remove Acorn DFS ROM
- Fit GoSDC in slot third from right
- Fit cable from GoSDC jumper (middle-left) to pin 6 up from bottom right
- You should be left with the Acorn OS ROMs in the ROM sockets to the left of GoSDC
Once fitted, slide in an SD card and power up your BBC and you should see the usual welcome screen. Then type
*SDCINFO and see the results:
BBC Computer 32K Acorn DFS BASIC >*SDCINFO GoSDC (mbe) 1.05 (01 Sep 2014) ROM slots : main 15, free 13 Flash ROM : S25FL007, 1024 KiB Flash card : SDHC, 7580 MiB Available areas --------------- X : 416256 bytes 1 : 4294966784 bytes 2 : 3653238784 bytes >
If you see ROM slots main and free with numbers your device is correctly controlling two slots and can patch the DFS for you. If not, check the adapter and cable.
If you see “GoSDC : No flash card inserted” check the card is securely in and power cycle the machine. If it still doesn’t recognize it try another card. Note: When switching card you will need to press CtrlBreak for the machine to recognize it.
The first time you use a card you’ll need to format it. The command and subsequent output should look like this:
>*SDCTOOL SDCFO Formatting area ... done Verifying format ... ok Please hard-reset your machine now >
If you have a card greater than 4GB then it will create 4GB areas which can be switched between with
*SDCAREA number. I’d recommend switching to the additional areas, formatting and CtrlBreak after each before you put any software on it as this command will wipe it out again.
Finally you’ll need to tell GoSDC to provide a patched filing system like this:
*SDCCONFIG FSNR 1 *SDCCONFIG FSRM 13 *SDCRESET
- 1 sets Acorn DFS on my machine although the docs says it should be 2
- 13 should match the free ROM slot shown in *SDCINFO
If you mess up your ROM selection and are unable to type because of ‘No drive’ do not fear! Press caps-lock and break twice to get the prompt back and choose another.
Finding old software
One option is to image all your floppy discs to SD card but you are probably going to find that those discs are corrupted. Thirty year old floppy disks are not reliable.
Another option is to download old software online. This can be a grey area as the software is copyrighted but no longer sold and many authors are okay with allowing it (e.g. Ian Bell and David Braben of Elite fame). A great site that honors the wishes of authors can be found at the weirdly named Stairway to Hell.
The author of GoSDC supplies Windows scripts to download, unpack and write the files to disc which I took the liberty of porting to Bash so they could be used on Mac OS X and Linux.
Recommended old games
Purely based on subjective childhood experiences…
- Elite a 3D space trading game so good they recently Kickstarted Elite 4
- Citadel one hundred screens of arcade adventure madness
- Chuckie Egg quick platform dash with birds, ducks, eggs and platforms
- Repton Boulderdash to the next level, try 1 or 3, Repton 2 is insanely hard
- Granny’s Garden educational fun alas distribution is denied as they sell an iPad version
Once the card is loaded up with software the actual commands are simple:
Will list the contents although you’ll probably want to put a wildcard after it to limit it down. Remember CtrlShift pauses the screen on the BBC!
Then, to mount a disc you use *SDCDISC and provide the name to mount. You can also use wildcards here and it will pick up the first match. e.g.
Once mounted hold down Shift and tap Break to boot the game (or educational title, right?)
A few other useful commands are:
||List contents of a disc|
||Is what ShiftBreak actually does|
||To LOAD and RUN a BASIC program from disc|
||To execute machine code programs from disc|
I put some BBC Micro tips and tricks together or you can can grab PDFs of pretty much every book created for the BBC Micro .
You can also see which discs are currently selected using
*SDCDISC with no arguments. You’ll note you can mount a second disc and the command to do that is
*SDCEXTRA with usage otherwise exactly like *SDCDISC.
GoSDC can do much more including imaging your real floppy discs and writing them back out so be sure to check out the comprehensive documentation which also includes how to upgrade the firmware (use another memory card as that process uses FAT no the GoSDC file system)
Out for Pi Day!
Pi Day (3/14/15 = 3.1415) was last weekend and my work put on a session for kids about how to program the Raspberry Pi using Scratch and a bread board (using CanaKits so we had a bread board, LEDs, switches, wires, resistors etc.).
The original Raspberry Pi was heavily inspired by the BBC Micro and even the name “Model B” took cues from the original. Few people also seem to realize that the manufacturer of the BBC Micro – Acorn – went on to create a processor for its sequel the Acorn RISC Machine or ARM for short. That’s right, the Pi is powered by an Acorn processor design (like most smartphones) so it made sense to bring it in.
Alas it was a hectic event with little time to show the machine. In fact just sitting there it popped a capacitor in a puff of smoke!
Power supply repair
Despite the noise and smoke the dying capacitor didn’t actually stop the machine working as it is part of the electromagnetic interference suppression not the power circuitry itself. Still, it should be repaired and I thought I may as well replace the other X2 film capacitor as they have been failing over the last 30 years.
I picked up a couple of RIFA PME 271 M capacitors – 100nf and 10nf – (with a matching pitch so they would fit correctly) from Mouser for less than $2 each plus shipping. Five minutes of desoldering and soldering later and it was good as new!