Boot to BASIC - like it's 1976

BASIC is like Marmite - you either love it or hate it.

A recent Hackaday article (1st Feb 2021) described one man’s (Alan Pope) journey to get a Raspberry Pi 400 to boot to BASIC.

I have known Alan for over a decade and he is a professional programmer - but he almost got to the point of pulling his hair out trying to get BASIC to boot on power-up on a Pi 400.

The irony here is that the Pi forces you into a Linux based operating system, whilst BBC BASIC was running on a bare-metal ARM 35 years ago.

BASIC as a language has many faults, and in the early 1980s it was limited by the speed of the popular microprocessors of that day, i.e. 6502 and Z80A.

But today we have a speed advantage and a $20 microcontroller can execute BASIC and generate all the graphics many times faster than the machines from the 1980s. Below is a link to the Maximite 2 computer that is built around the STM32F743 microcontroller.

I learned BASIC in 1978 on a Research Machines 380Z, and eventually in 1983 I could afford my own ZX81 built from a £39.99 kit.

Like I say - Marmite. Knock it if you wish, but it was the start of a career for many of us.

1 Like

Once Basic had the advatage that you don’t need a powerful CPU, just ample memory,
thus it ran on everything but APL and LISP cpu’s.
Then it got a offical STANDARD the was not blessed by Microsoft and vanished.
BASIC and some other Early langages. The Retrocomputing Museum

Maximite 2 is nice! I’m a fan of booting to Basic, and it’s my background too.

It’s often said, but in fact there are numerous operating systems, as well as baremetal projects. In this particular case, I think RISC OS is the best fit, because it contains a native BBC Basic, and with a little configuration can boot straight to a Basic prompt. (Also available: BSD,

RaspberryPi: RISC OS Pi 400 Documentation

A few years ago, there was the RISC OS Pico build, a lightweight RISC OS which boots to Basic, but that doesn’t work on the newer models of Pi and is no longer offered as a download. It was never maintained. But as I say, a few config file tweaks do the job. (Or try this recipe.)

I don’t have a 400 to try this with. The Pi 4 was a bit of a departure and the 400 a bit more, so recipes and builds need to be relatively recent to work.

While BBC Basic is my strong preference, here’s a boot-to-emulated-C64 as a bare metal project:

We still don’t have a full-speed full-screen accurate Beeb emulation for the Pi, remarkably enough, even though there is a not-quite-published one for the Pico. At least, I think that’s so.

(Maybe worth noting: the Beeb is a boot-to-language machine, where Basic is usually the language ROM in question. Other languages are available.)

1 Like

I don’t think Boot-To-BASIC (as the only OS) is necessary, but replacing the shell with a BASIC spiced up with the features and commands a shell needs might be a good idea. That would marry the power of a full featured OS with a much friendlier frontend.

Most shell scripting is a string operations intensive task and there BASIC is a lot nicer and safer while the shell is quoting hell.