BBC BASIC 2.31 for the Tatung Einstein, showing DRIFT, the text adventure the course builds, in the middle of a game
course · new for 2026

BBC BASIC 2.31 for the Tatung Einstein

Gavin Watson

The Einstein could run a second BASIC: BBC BASIC, Richard Russell's language, made for the Einstein by M-TEC in 1984, on a disc of its own. Type BBCBASIC at the DOS prompt and the machine answers Einstein BBCBASIC Version 2.31 and a >. It is the BASIC of structured programs - named procedures and functions, REPEAT loops, local variables - and this course teaches it from the very beginning, for people who have never programmed as well as for people who knew it on another machine.

It covers version 2.31 on the Einstein and nothing else. BBC BASIC exists in many versions for many machines, and they are all nearly the same - which is exactly why a book about one misleads you about another. Its own manual says full compatibility with the BBC Micro's is impossible in graphics and sound; the keyboard and the screen differ too. Everything here is about the version on the course disc.

You do not need to own an Einstein. Everything here runs on an emulator on your own computer, and everything you need is free.

What It Is

The course builds towards one thing: DRIFT, a small text adventure. You wake from cryosleep on a cargo ship drifting dead in space. The power is off, the bridge is sealed, and the air is running out. Four rooms, a data pad, a power cell, a locked console, and a parser that understands GET PAD, go east and USE CELL. Every section teaches one part of the language and uses it, and from S20 every section adds a piece of the game, which you save to the disc as you go.

Thirty sections and four appendices. Part one is the language: typing at the machine, programs, the line editor, saving to disc, sums, variables, text, asking questions, decisions, loops, arrays, data, chance, and procedures and functions. Part two is words and the screen: taking a sentence apart, and colour and text anywhere on the screen. Part three is DRIFT, one piece a section: the map, moving, looking, things, carrying them, understanding the player, the puzzles, the air running out, and a title screen with sound. It ends by reading ANIMAL, the 1984 guessing game that learns, from the course disc, and with a look at where to go next.

Every section has the same shape: an explanation, a listing to type, what you should see, a few single changes to make with a question attached to each, exercises, and the failures we actually hit. Worked solutions to every exercise are in an appendix.

It is written for both keyboards. Keys are called what the Einstein calls them; wherever a key is somewhere else on a modern keyboard under MAME, a line beginning In MAME says where, and an appendix has the whole keyboard in one place.

What You Need

Three things, all free: MAME, the Einstein ROM, and the BBC BASIC Course Disc from our Downloads page. The disc carries BBC BASIC 2.31, the 1984 ANIMAL game, the finished DRIFT so you can play it and read it whenever you like, and 160K of free space for your own work. It is an .mfi rather than a .dsk because MAME will not write to a .dsk. The second section sets all of it up, for macOS and for Windows.

How It Was Made

The same way as the other courses. BBC BASIC is the best-documented eight-bit BASIC there is, and almost everything written about it is nearly right for the Einstein - which is the danger. So nothing here is taken from the BBC Micro's BASIC, from another BBC BASIC, from Xtal BASIC, or from a manual alone without first running it on the machine and watching what happens. The Einstein edition's own manual, BBCBASIC(Z80), was read first, for what to test and what to call things; where it and the machine disagree, the machine wins.

That mattered. The manual gives the DOS prompt as A>; on the Einstein it is 0:. The arrow keys do not move the cursor - they type [, ] and ^, and the line is edited with CTRL keys instead. A variable called TOTAL is a syntax error because it starts with TO. INPUT stops a reply at its first comma. A procedure cannot be left from inside a loop. SOUND's fourth number is not a duration. And saving over a locked file drops you out of BBC BASIC altogether - though, as the course shows, OLD brings your program back. Every one of those is in the course because the machine showed it to us.

Every listing, every change the sections ask you to make, and every exercise solution was run on BBC BASIC 2.31 before it was written down, and every screenshot is of the machine actually doing it. DRIFT was built and played at every stage, and its sounds were checked by recording the emulator's audio. Over a hundred recorded experiments stand behind the thirty sections, and they are kept so that any claim can be checked again. What has not been done is a test on real hardware: the course was written and checked entirely under emulation, and if you follow it on a real Einstein we would like to hear what differs.

BBC BASIC as it came is in our library as BBC Basic, and its manual as BBC Basic Manual (Z80), which covers every keyword, the built-in assembler, and much more on disc files.

This course was written with Claude Code, directed and tested by Gavin Watson. We say so openly because we think it is the right way to use these tools, and because you deserve to know how the thing you are learning from was built.

Get the Newsletter

New guides, disk images and community finds, roughly once a quarter. No spam, we promise, this isn't Tatung's marketing department.
Your subscription could not be saved. Please try again.
Your subscription has been successful.

Newsletter

Subscribe to our newsletter and stay updated.