BBC BASIC 2.31 for the Tatung Einstein, showing DRIFT, the text adventure the course builds, in the middle of a game
← Back to Courses
module
1

What You're Going To Make

Introduction

The Tatung Einstein came with its own BASIC on the System Master disc, and a second BASIC came for it on a disc of its own: BBC BASIC, the language of the BBC Micro, made to run on the Einstein. It is the BASIC this course teaches.

It builds towards one thing: DRIFT, a small text adventure. You wake on a cargo ship drifting dead in space, and you have to get it going again before the air runs out. By the time you have written it you will have used most of the language: words and numbers, decisions and loops, lists, procedures and functions, and the screen.

What BBC BASIC Actually Is

BASIC was designed in the 1960s as a language for people who were not going to become programmers, and by the early 1980s nearly every home computer had one. They were all called BASIC and they were all different, in ways that matter exactly when you sit down to type.

BBC BASIC is Richard Russell's. The manual for the Einstein's version - written by Doug Mounter of M-TEC in 1984, and edited by Russell - says it was made to be as compatible as possible with the BBC Micro's, but that the Einstein's different graphics and sound make full compatibility impossible. So it is its own thing, and this course teaches it as it behaves on the Einstein.

Two ideas do most of the work in any BASIC, and this one is no exception.

The first is that a line is either done now or kept for later. Type PRINT 7-2 and the answer, 5, comes straight back. Type 10 PRINT 7-2 and nothing happens - the line has been kept as line 10 of a program, and it waits until you type RUN.

The second is that the machine tells you when it cannot understand you. When a line has worked you get the prompt, >, back. When it has not, you get a message first - Mistake for a word it does not know - and then the prompt. You are never left wondering.

What makes BBC BASIC worth learning is what it lets you do with a program once it grows. You can give a piece of a program a name of its own - a procedure - and use it by name wherever you need it. A long program then reads like a list of the things it does, not a tangle of line numbers. A text adventure is exactly that kind of program, which is why this course builds one.

The Version This Course Covers

When BBC BASIC starts it says what it is:

Einstein BBCBASIC Version 2.31
(C) Copyright R.T.Russell 1984
>

This course covers version 2.31, and only that - the one on the course disc. BBC BASIC exists in many versions, for many machines, and a book about one is not a book about another. They look alike, which is exactly why they catch people out: almost everything is nearly the same. Everything in this course - every listing and every result it describes - is about 2.31 on the Einstein.

If you have a BBC BASIC disc of your own, look at the sign-on before you start. If it says 2.31, you are on the same ground as the course. If it says anything else, follow along by all means, but where you find a difference, believe your machine rather than this course.

If you already know BBC BASIC from a BBC Micro, or from anywhere else, be careful in a different way. Most of what you know will work. The parts that do not - the screen, the sound, the keyboard - are the parts this course is careful about, and it points them out as it goes.

The Machine

The Tatung Einstein is a British computer, built around the Zilog Z80 processor and sold from 1984. It came with a disc drive built in, at a time when most home computers loaded from cassette, and BBC BASIC leans on that: your programs are kept in files on the disc, saved and loaded by name.

You do not need to own one. The course runs on an emulator.

Where This Is Going

This course builds one program. Not from the first page - the first part is the language, in short programs you type and throw away - but from the middle onwards each section adds a piece of the game, and the listing you run at the end of a section is the game so far.

The game is deliberately small. Four rooms: the cryo bay where you wake, a corridor, engineering and the bridge. A few things to find and carry. A dead reactor that needs power, and a console that needs a code. And the ship's air, running down one turn at a time. You type what you want to do - GET PAD, say - and the program has to understand you, which is where most of the interesting work is.

The pieces come in the order you need them. The first part of the course is the language: typing a program in, correcting it, keeping it on disc, numbers and words, questions and answers, decisions, repetition, lists, chance, and procedures. The second part is words and the screen: taking a sentence apart, and putting text where you want it in colour. The third part is the game, one piece a section: the map, moving, looking, things, carrying them, understanding the player, the puzzles, the air, and the finishing touches. Then you read a real program from the disc - a game that learns about animals from the people who play it, adapted for BBC BASIC by Chris Atkinson and Richard Russell - and find you can follow it.

Who This Is For

  • Anyone who wants to program a small computer and see the result at once.
  • Retro computing hobbyists and collectors, and anyone with an Einstein in the loft.
  • Anyone who learnt BBC BASIC on a BBC Micro and would like to meet it on another machine.
  • Anyone who has done the Xtal BASIC course and would like to see the other BASIC the Einstein could run.

What You Need To Know Already

Nothing.

You do not need to have programmed before. Everything is explained as it comes up, in the order you need it, and nothing is used before it has been explained.

If you have programmed before, the first sections will go quickly. Read them anyway: the places where this BASIC surprises people are in them.

What You Need

Three things, all free: the MAME emulator, the Einstein's ROM image, and the BBC BASIC course disc from the Downloads page. S2 installs them, on macOS or Windows, and finishes with BBC BASIC running in front of you.

The course disc carries BBC BASIC, the 1984 animal-guessing game, the finished DRIFT, and 160K of room for your own work.

DRIFT's title screen, from the course disc

If you have a real Einstein and a BBC BASIC disc, you are very welcome to follow along. The course is written and checked against the emulator, so where the two differ you will be ahead of us, and we would like to hear about it. S2 begins with what is different for you.

How Each Section Is Laid Out

Every section has the same shape.

  • What it teaches, in one line at the top.
  • The explanation, one idea at a time.
  • The code - complete, and runnable as it stands. In the first part, short enough to type; later, the game so far.
  • What you should see, so you know whether it worked.
  • Change one thing - two or three small edits with a question attached. These are the part that does the teaching. Reading code that works produces a feeling of understanding that is hard to tell from the real thing until something breaks; changing one value and guessing what will happen finds out cheaply.
  • Exercises, with worked solutions in Appendix II.
  • When it goes wrong - the failures we actually hit, and what they looked like on screen.

Found A Mistake? Stuck? Want To Help?

All three are worth a message, and the last one most of all. Nothing in this course has yet been tried on a real Einstein.

Next

S2, Setting Up - the emulator, the ROM and the disc, and BBC BASIC signing on on your own machine.

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.