Skip to content

Acorn articles

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:

  1. It works – Test it, repair it or part with it. A wealth of online technical information makes this easier than ever.
  2. A small footprint – Eject unusable peripherals and accessories. Keep the essentials.
  3. Make it usable – Forget slow-loading tapes and corrupt disks, a fast loading is essential.
  4. 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:

BBC attached to Amstrad monitor and giant twin floppy drives

Physical inspection

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

BBC Micro with SD Card fitted

SD cards are my replacement storage of choice for vintage systems. I chose John Kortink’s GoSDC for the following reasons:

  1. Supports MMC, SD, SDHC up to 32GB
  2. Internally fits into a spare ROM socket
  3. Adds operating system commands for great integration
  4. 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

GoSDC installed inside a BBC Micro model BThe 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):

  1. Remove Acorn DFS ROM
  2. Fit GoSDC in slot third from right
  3. Fit cable from GoSDC jumper (middle-left) to pin 6 up from bottom right
  4. 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

Using GoSDC

Once the card is loaded up with software the actual commands are simple:

*SDCLIST

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.

*SDCDISC *Chuckie*

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
*EXEC !BOOT Is what ShiftBreak actually does
CHAIN "filename" To LOAD and RUN a BASIC program from disc
*filename 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.

BBC power supply with blown X2 capacitor BBC power supply with new X2 capacitors

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!

[)amien

Typography in 8 bits: System fonts  

My love of typography originated in the 80’s with the golden years of 8-bit home computing and their 8×8 pixel monospaced fonts on low-resolution displays.

It’s quite easy to find bitmap copies of these fonts and also scalable traced TTF versions but there’s very little discussion about the fonts themselves. Let’s remedy that by firing up some emulators and investigating the glyphs.

Commodore PET (1977)

Specifications

Regular semi-serif
5-7 pixels
7 pixels
PETSCII
320×200 (40×25 text)
Leonard Tramiel
Download in TrueType

Commodore PET

Commodore’s first business machine was the PET which came with a built-in monitor and a full character set unlike other machines at the time.

Unusual characteristics

  • Primarily sans-serif but serifs present on ‘BDJa’
  • Slightly stylized ‘£’

Rationale

The font is good choice for the original PET and its original monitor. It was unfortunately also used on the Vic-20 despite having half the screen resolution where it made a poor choice.

Influences

While not visibly influenced from anything else an almost direct rip of this font appears to have been used in the Apple Lisa debugger.

Technical

Unknown.

Apple ][ (1977)

Specifications

Regular condensed sans
3/5 pixels
7 pixels
ASCII
280×192 (40×24 text)
Signetics+?
Download in TrueType

Apple ][ system font

Apple’s first professionally built computer was the Apple ][ which from rev 7 onwards added lower-case letters.

Unusual characteristics

  • Uppercase letters can touch descenders on the line above as the full height is used
  • Only first 7 columns per glyph otherwise would have been 35×24 text
  • Vertical stems for ‘[]{}’ are 2 pixels wide (bold)
  • Very small slashes ‘/\’
  • Upper-case is consistent although ‘A’ is very angular, ‘G’ unpronounced
  • Lower-case less consistent – ‘gf’ has soft curves, ‘mw’ square, ‘nhr’ ignore curve of ‘u’
  • Numbers – unusual ‘3’ but ’96’ over-extend

Rationale

The font is well suited to the default high-contrast white-on-black (often green-on-black) given the machine was intended for use on their own monitors.

Influences

The upper-case, numbers and symbols were copied from the Signetics 64 × 8 × 5 character generator 2513 chip used in the Apple I and II in revision 0 to 6.

The later Texas Instruments TMS9918 Video Controller Chip used on Sega, Nintendo, Colecovision and TI/99 machines re-used this font with only a couple of pixels changed.

Technical

Changing the font requires replacing the 2 KB 2716 pinout ROM with your own EPROM or alternate ROM.

Atari 400/800 (1979)

Specifications

Bold sans
4-6 pixels
6 pixels
ATASCII
320×192 (40×24 text)
Scott Schieman
Download in TrueType

Atari 8-bit system font

Atari’s entry into the home computing market put out some very capable machines with all sorts of hardware tricks (the creative geniuses behind it would go on to form Amiga). The same font was used on all Atari 8-bit models from the original 400/800 to the XL and XE models in the late 80’s.

Unusual characteristics

  • 6 pixels uppercase causes some vertical imbalance especially on ‘9’
  • Braces are overly bold being 3 pixels wide.
  • Less than and greater than symbols are too tall.
  • ‘MWw’ make great use of width to nice effect
  • Bar on ‘G’ too low, ‘U’ overtly square, ‘X’ very blocky, ‘S’ does not extend enough

Rationale

The machine boots in a low-contrast blue-on-blue and is designed for use with TV’s which explains some of the odd characteristics above like the square U to distinguish it from the V. It is likely the 6-pixel choice is to allow the letters to be centered when using inverse letter mode.

Influences

Designed by Scott Scheiman (Source)

Technical

One byte per row, 8 sequential bytes making one glyph. You can reprogram this by poking address 756 with the page number of the new font (default of 226 for ROM location 0xE000).

POKE 756, 226

Acorn BBC Micro (1981)

Specifications

Bold sans
4-7 pixels
7 pixels
ASCII only
320×256 (40×32 text)
Unknown
Download in TrueType

BBC Micro mode 1 system font

The Beeb, as it was affectionately known, has its own font which could display in three different modes – one wider and one narrower but many users might not recognize it all as it booted into ‘Mode 7’ utilizing a Videotex chip (used in the UK for text-on-TV and travel agents as well as in France for Minitel) that had a different font of its own.

Unusual characteristics

  • Drops bold in tight spaces e.g ‘$&@’
  • Outlines the tail on the ‘Q’ to make it much clearer
  • Unique and beautiful ‘*’
  • Does not extend low bar on ‘e’ as much as expected and ‘f’ seems to wide
  • Vertically squished ‘?’
  • Style of single-quote ‘ is inconsistent with comma

Rationale

The machine generally shipped with good quality monitors and the combination of high-contrast colors and this bold font made it very readable indeed.

Influences

It’s quite likely it was influenced by the Atari 8-bit font but with larger capitals and ascenders and a much more consistent look.

Technical

The system font is stored at 0xC00-0xC2FF with each character being represented by 8 sequential bytes (left pixel is high bit).
You can replace the font used by system text routine OSWRCH (0xFFEE) using the VDU command 23 followed by the ascii code and then 8 rows of data, e.g.

VDU 23,65,11,22,33,44,55,66,77,88

Sinclair ZX Spectrum (1982)

Specifications

Regular sans
6 upper, 5 lower
6 pixels
ASCII + own
256×192 (32×24 text)
Nine Tiles
Download in TrueType

Sinclair ZX Spectrum system font

Sinclair’s successor to the ZX81 added color and lower-case letters – again preserving the uppercase and numbers from its predecessor but finally mapping them to ASCII. This font was re-used on Jupiter Ace and Timex machines but the ZX Spectrum was the most popular.

Unusual characteristics

  • 6 pixels uppercase leaves many unevenly balanced ‘BEFS’ and ‘X’ with ugly 2×2 center
  • Full stop is 2×2 pixels (bold) but colon, semi-colon and comma are not
  • Capital ‘MW’ are very slight with latter hard to distinguish from ‘V’
  • Uneven styling ‘c’ omits curves, ‘e’ is soft ‘g’ is not, ‘f’ and ‘k’ are thin
  • Only the copyright symbol uses to the top row of pixels

Rationale

While the machine has a default high-contrast scheme the video output was poor because of the quality of the RF modulator and home TVs it was connected to. It looks like the designer decided to increase spacing between letters after the ZX80 from one to two pixels which greatly limited what could be done with the letters themselves. This was likely done for the same reasons it was done on the Atari 8-bit – namely to allow the letters to be centered when using inverse text modes.

Influences

The font was mostly inherited from the ZX80. I was not involved with
that, so I don’t know who did it. Probably it was a combination of
John Grant, Jim Westwood and Rick Dickinson. It’s possible we added
lower case for the ZX81 or Spectrum (I can’t remember without
checking), and I do remember discussions about how “mostly moistly”
would appear.

Steve Vickers, email, 2nd February 2001

Technical

The system font is stored at 0x3D00-0x3FFF with each character being represented by 8 sequential bytes (left pixel is high bit). You can replace the system text routine (RST 10) by poking the new fonts memory address into the system memory map at 23606/23607 minus 256 bytes (the first 32 characters are non-printable, 32×8 = 256)

LOAD "newfont" CODE 49152, 768: POKE 23606, 0: POKE 23607, 191

Commodore 64 (1982)

Specifications

Bold sans
6 pixels
7 pixels
PETSCII
320×200 (40×25 text)
Unknown
Download in TrueType

Commodore 64 system font

Commodore took to take their success with the PET and applied it to the home first with the VIC 20 and then later with the wildly successful Commodore 64.

Unusual characteristics

  • Inconsistent shapes/style across ‘147,&<>@Q’
  • 2×2 pixel of ‘.’ is not carried through to ‘;:!’
  • Ascenders not as tall as capital letters

Rationale

The bold font was essential for the low-quality TV’s Commodore were aiming at. The inconsistencies across the font may have been intentional to help make the letters look different (A vs 4, 1 vs I, 7 vs T) given the limitations of the displays or just poorly implemented (see below).

Influences

Lower-case is identical to the Atari 8-bit font and likely copied wholesale as they do not match the upper-case well. Symbols, numbers and upper-case are a bolded version of the PET font that looses the serifs and also could explain the odd reproductions of 1, 2, 7 & 4.

Technical

See comment from Paolo below for details!

Amstrad CPC (1984)

Specifications

Bold serif
6-7 pixels
7 pixels
PETSCII
320×200 (40×25 text)
Locomotive Software
Download in TrueType

Amstrad CPC system font

Alan Sugar’s foray into the UK market came a little later than the other 8-bits in 1984 with the Amstrad CPC series.

Unusual characteristics

  • Full use of 7 pixels for upper and 1 pixel for lower means glyphs can touch
  • Serif choice is unusual and not consistently applied because of space constraints
  • ‘0’ is wider than would be expected (copied from CGA font)
  • Very distinctive curves on ‘CGOQ’
  • ‘X’ looks like a different style because of high mid-point

Rationale

Sugar wanted the machine to look more professional than other home computers at the time. The choice of a serif based font to look like PCs which also featured serifs (at a higher resolution) reflects that desire.

Influences

Very similar to the IBM CGA font with some adjustments (fixes) to the horizontal positioning of some symbols. Many characters completely identical and some bearing style similarities too (wider 0, X choosing one side to be longer than the other). Some other characters bear similarity to the BBC Micro (Q uses the same trick to keep it distinguished) and a number of symbols and lower-case letters being the same where serifs would not fit.

The Amstrad CPC manual shows the system font but is different in some areas. It is possible it is a transcription problem (z is shifted up one pixel, missing pixels on ’37PRz~’ and extra pixels on ‘#b’ ) although it could have been an earlier version from the designer as ‘rG?’ are subtly different.

Technical

Redefine using the Amstrad BASIC command SYMBOL that takes an ASCII code and then 8 comma-separated values one-per-row in much the same way as the BBC with the VDU 23 command. SYMBOL AFTER must be set first e.g.

SYMBOL AFTER 32
SYMBOL 65,11,22,33,44,55,66,77,88

MSX (1983)

Specifications

Regular condensed sans
5 pixels
7 pixels
ASCII Extended
320×200? (40×25 text)
Microsoft?
Download in TrueType

MSX system font

The MSX differs from the other machines here in that it was a standard rather than a specific machine. It was very popular in Japan and did hit UK shores although I only knew a single person that had one apart from our school which had acquired several Yamaha models to control MIDI keyboards. Given the multiple manufacturers, it’s not surprising that some models had slightly tweaked fonts but the one shown here seems to be the most popular.

Unusual characteristics

  • Full use of 7 pixels for upper and 1 pixel for lower means glyphs can touch
  • Only 5 pixels wide for the letters
  • Pixels touching on the curves of ‘db’ etc. look quite ugly
  • Very angular curves on ‘5’

Rationale

An unusual choice that feels very quirky.

Influences

Most likely influenced by the Apple ][e.

Technical

Unknown.

This post is part of a series on system fonts, including:

[)amien