A fully-working CGI 3D Model and emulator of the BBC Microcomputer (VirtualBeeb). It is running a BBC Basic program that draws the 1979 BBC2 logo.

Back To Basics

Recently I’ve noticed that I have repeatedly revisited things whenever a new or interesting way of doing them turned up.

When I first got my BBC Micro, back in 1983, one of the first things I wanted to do was recreate old television logos and teletext pages.

A screenshot of the ATV symbol partially drawn on a BBC Master 128.
Written in 1986 on a BBC Master 128

Six years later, when I got my A3000, I used !Draw to recreate the old testcards I found in the ancient, forgotten television servicing manuals I discovered in university libraries.

BBC Television Service Information Clock from the 1970s recreated in Macromedia Flash. A green clock on a purple background with the text "BBC Colour Service Information Follows at 10.30" centred underneath the clock face.
BBC Service Information Clock recreated in Macromedia Flash 8

In mid-1997, when I started working with the then brand-new Macromedia Flash 2, I used it to recreate old logos and test cards (and thanks to Andrew Wiseman, my efforts still appear online).

ITV light spots tuning signal recreated in Inkscape

I began using Linux in 2008, fell in love with Inkscape, and again I returned to trying to draw ever more accurate testcards.

BBC 1 Scotland Globe Symbol modelled in Blender

A couple of years later I discovered Blender and again I tried making Channel Four logos and BBC 1 globes.

I was so happy with Inkscape and Blender, I thought that this particular journey had come to its end but, instead, it was actually about to come full circle.

I was always unhappy on Twitter. However wonderful the blog posts by John J. Hoare, the colourisations by Clayton Hickman or the programs by OxC0DE were, the overall experience invariably made me feel utterly fed up.

So when some of my friends started on their exodus to Mastodon in October 2022 I thought I really should have a look and see if it was any better. It was absolutely wonderful.

I didn’t have many friends on Mastodon to begin with but what I did find was the BBC Micro Bot. The BBC Micro Bot was originally a Twitter Bot written by Dominic Pajak that allowed you to write BBC BASIC code in Twitter and then see the results in a tweeted reply.

I was aware of BBC Micro Bot on Twitter, and had been incredibly impressed at what could be produced in just one tweet of BBC BASIC. However, I realised that with my limited skills I probably couldn’t fit much into a tweet so I never played with it.

Dominic was excited by Mastodon and also the possibilities opened up by the longer length of a toot as opposed to a tweet and so was busily porting BBC Micro Bot to Mastodon while I was joining the platform. This increased length, along with wanting to contribute some content to Mastodon, encouraged me to revisit my love of creating old television symbols in BBC BASIC.

And as if the BBC Micro Bot wasn’t enough, Dominic and the fantastic Matt Godbolt also written the wonderful Owlet to go with it. Owlet is an online BBC Micro IDE that makes writing BBC BASIC simplicity itself. So with all these wonderful tools at hand with I had to have a go myself. Well, it’d be rude not to.

My first attempt would be the ATV logo. I had created this on my BBC Micro, with an ATV logo I had drawn on graph paper with a pair of compasses and a ruler. Sadly, the results were not very impressive.

This time, I could use my Inkscape drawing of the ATV logo. One thing I had to do was make my Inkscape Document into a digital version of the graph paper I used to use back in the 1980s. In Document Properties set the size of the document to 1280 x 1024, so it matched the dimensions of a BBC Micro screen.

The ATV logo shown drawn as a vector image on a BBC Micro-sized grid in Inkscape.
Digital Graph Paper

However, the origin was at the top-left, instead of the bottom-left as it was on a BBC Micro. To remedy this I needed to open the Interface tab in the Preferences to un-check “Origin at upper left with y-axis pointing down” option.

To me, it seems a bit illogical that this is a global setting, requiring a restart. It should be a document-specific setting so each document can save its own preference of axis system.

The Preferences window of Inkscape, showing the Interface tab. The checkbox "Origin at upper left with y-axis pointing down" is in the bottom quarter of the tab.
You need to tell Inkscape the origin is at the bottom left

With my drawing set up correctly, I could then proceed to fire up Owlet and try and draw the ATV logo in BBC Basic.

There was just one more thing I needed. BBC Micro Bot uses the wonderful Acorn Graphics Extension ROM. It came as standard in the BBC Master (apart from the sprite handling) and makes working with graphics on the BBC Micro a much more pleasurable experience.

The Acornsoft GXR logo from the original reference card.
The Acornsoft GXR logo

However, I needed to remind myself how to use it. Fortunately, help was at hand. BBC Micro Bot had tooted an article about the GXR from The Micro User here. Not only that but StarDot had the ROM, the manual, the reference card and the utility disc all ready to download.

When I did my original ATV logo, back on my BBC Master in 1986, I used circular segments in order to create the ATV logo. However, I’ve worked with the ATV logo a lot since then and discovered that the eyes are not made from circular segments, but elliptical segments.

A BBC Micro screenshot showing the overlapping circles and ellipses that make up the two eyes in the ATV logo.
Overlapping ellipses

The GXR didn’t have elliptical segments, so to draw them I had to use overlapping ellipses with GCOL modes that created a third colour where the overlap was that I could later colour in yellow.

A BBC Micro screenshot showing the overlapping circles and ellipses that make up the two eyes in the ATV logo after cropping with VDU24.
VDU24 got rid of a load of unneeded rubbish

In order to cut out the amount of stuff I had to hide I created a rectangular graphics window in the centre of the screen around the logo using VDU24 so that nothing could be drawn outside of it. This cut down the amount of post-draw recolouring of the logo I had to do dramatically.

The fill editor of the Acorn Graphics Extension ROM. It is running in MODE 2, and a yellow and blue striped fill is shown being designed. There is a palette on the right hand side of the screen and hex values for the pattern on the left. The text says "MODE 2, Edit Pattern, Cursor keys to move, Choose 0 to 9 or A to F. P sets the Palette"
The fill editor from the Acorn Graphics Extension ROM

One trick I kept from my BBC Micro ATV logo was to define a custom fill of yellow and blue stripes in order to fill in the bottom eye shape of the logo. To make this easier, I managed to find the .ssd image of the Acorn GXR utlities disc on the wonderful StarDot forum.

Something I had to remember to keep doing as I was working was to make regular back-ups of my Owlet code in my text editor Kate. I lost my work several times as saving from Owlet doesn’t work as you’d expect.

A screenshot of the online BBC Basic editor Owlet. On the left-hand side is a code editor window, showing BBC Basic program. On the right hand site you can see the output of the program, a BBC Micro rendering of the 1969 ATV logo.
ATV Logo in Owlet

Although I was happy with how my ATV logo looked, try as I might I simply couldn’t fit it into the 500 characters of a toot. So, if you want to see it running in Owlet, you will have to click here.

Amongst many others, a lovely feature of Owlet is that it lets you see how your program looks running on a virtual BBC Micro in VirtualBeeb, a magical tool created to celebrate the BBC Micro’s 40th Anniversary. This is enormous fun; you can move around, type on the keyboard and even play Repton!

A fully-working CGI 3D Model and emulator of the BBC Microcomputer (VirtualBeeb). It is running a BBC Basic program that draws the 1969 ATV logo.
A rather odd combination!

Another thought I had was that although the ATV logo worked well, it seemed a little incongruous on a BBC Micro. Therefore I went for something a little more BBC for my next effort. A lot more BBC, in fact: the Lambie-Nairn BBC logo from 1991.

The 1991 BBC logo shown drawn as a vector image on in Inkscape, with various guide lines I drew to speed entering the coordinates into Owlet.
1991 BBC logo (BBC Cymru Wales version) in Inkscape

Again as my guide I used an SVG vector drawing I did some years ago from a BBC Styleguide and copied it into a BBC Micro sized Inkscape document. I placed a number of guides on the image. The Inkscape toolbar would tell me the co-ordinates of the guides, so I could code the PLOT statements by just gliding my mouse over the image to get the x and y values.

A screenshot of the online BBC Basic editor Owlet. On the left-hand side is a code editor window, showing BBC Basic program. On the right hand site you can see the output of the program, the 1991 BBC logo designed by Lambie-Nairn.
The 1991 BBC logo in Owlet

Even though I tried my very best to keep the size of my BBC logo program down, it was still to large to fit into a toot. I felt it should be possible, but it was simply beyond me. If you want to see it in Owlet, click here.

However some expert BBC Micro Bot programmers took my verbose effort and ran with it. The incredible @rheolism@mastodon.nz managed to fit it into a single toot and @bazzargh@hachyderm.io managed to squeeze it down even more in this toot.

The trick that bazzargh used to do this was to use PRINT statements to display the VDU codes (ASCII codes outside of the normal range used for characters) so you could plot complex shapes on screen using PRINT. He explains this process here, and even provides a tool to help you produce the PRINT statements.

In fact, more amazingly, rheolism even managed to make it a version of the logo in Mode 7 (so we have teletext version) and in the two colour hi-res Mode 0 using colour changes to make it appear to have five colours and squeeze the whole lot into a toot.

A fully-working CGI 3D Model and emulator of the BBC Microcomputer (VirtualBeeb). It is running a BBC Basic program that draws the 1991 BBC logo.
Its the wrong logo, Grommit!

The only thing that bugs me a little about my BBC logo is it was an anachronism. The BBC Micro should have really have the rounded diamonds logo from 1971.

So for my next effort I wanted to have a go at something a little ambitious, and something that fitted in with the era of BBC Micro. I wanted to try Oliver Elmes‘ BBC 2 logo that appeared before editions of Micro Live.

This rather odd drawing is the BBC 2 logo in Inkscape.

To achieve this, I used the same technique I had before, preparing an SVG file in Inkscape to the BBC resolution of 1280×1024. However, this time I did a complete redraw of the logo to make it easier to transfer to the BBC Micro. This redraw is shown above. It may look a little odd, but it contained everything I needed to draw the logo in BBC BASIC.

The approach I was going to take for the BBC2 logo was to draw it several times in light orange moving the graphics origin upwards and to the right each time with VDU29, and then drawing the logo a final time with dark orange and white.

I was very lucky that dark orange and light orange were defined by default in MODE1 by the GXR and so I didn’t need to use the pattern editor that comes with the GXR ROM in order to create custom fill patterns. I thought this would cut the length of the program down a bit.

The tricky parts of drawing the “2” were the three large rounded corners. They had to be drawn as outlines and then filled in using the arc drawing and flood fill PLOT codes. The flood fill only recognises real colours rather than shaded colours which made filling the large corners a bit hit and miss.

A screenshot of the online BBC Basic editor Owlet. On the left-hand side is a code editor window, showing BBC Basic program. On the right hand site you can see the output of the program, a BBC Micro rendering of the 1979 BBC 2 logo.
Making the Most of the Micro?

I was very pleased with the end result. It was very evocative and I thought I’d done Lesley Judd and Fred Harris proud.

This time, rheolism was not able to squash my BBC 2 logo down into a toot, although he had a very good stab at it.

A fully-working CGI 3D Model and emulator of the BBC Microcomputer (VirtualBeeb). It is running a BBC Basic program that draws the 1979 BBC2 logo.
This is about as Acorn/BBC as you can get!

I have thoroughly enjoyed playing with BBC Micro Bot so far, and I have some ideas of things I’d like to handle next. I also want to set up a GitHub repository for my code and SVG files so they are all available in one place for others to play with. Obviously, when I do, I’ll write about it here.

If you’re interested in playing with BBC Micro Bot yourself, there’s an interactive tutorial here. And if you want to play with my BBC 2 symbol yourself, you can click here.

I don’t know if doing these graphics is me going forward or going back, but when you are coming full circle I suppose that, really, it could be both.



, ,



4 responses to “Back To Basics”

  1. Darren Meldrum avatar
    Darren Meldrum

    Thanks Dave, as an ex-BBC micro aficionado myself, I appreciated learning about how it lives on in so many different ways in the modern world. Combine that with some classic idents and logos and this made a very pleasant Sunday morning read. Much appreciated.

    1. Dave avatar

      It’s my pleasure. Without the Meldrum Home Page and MHP Chat I would have never started doing these things in the first place so really all this is down to you!

  2. […] creating Oliver Elmes’ 1979 BBC2 symbol in Owlet, I thought it would be fun to create the fully-electronic BBC2 station clock to go with it. The […]

  3. […] Jeffery resolveu fazer um blog para falar do BBC Micro e do seu BASIC revolucionário. Clique aqui para ler a […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.