Acorn Electron

Estimated reading time: 4 min

The Acorn Electron was a budget version of the BBC Micro released in 1983 by Acorn Computers Ltd.

Features

The Acorn Electron core is almost feature complete. The core boots to the Basic prompt and is capable of loading games and programs via a virtual cassette interface.

Notable missing features are:

  1. Tape fast forward / rewind support
  2. Tape position counter
  3. Expansion hardware such as the Plus 1 and Joystick module

ROMS

ROM files are not distributed with this core. You will need the OS and Basic ROMs or a combined os_basic ROM present in the same directory as the acorn_electron.ini file.

ROM          SHASum
os.rom       a48b8fa0cfb09140e808ac8a187316c605a0b32e
basic.rom    4a7393f3a45ea309f744441c16723e2ef447a281
os_basic.rom bad51a4666ff9e9eed19811a1eb9d4cda10e69a3

Virtual Cassette Interface

The current cassette interface enables loading/saving from/to a raw file stored on the SD card. There is no support currently for fast forward or rewinding of the “tape” or feedback on the current tape position. You can “reset” the tape to the beginning by ejecting the tape and inserting again via the OSD menu.

RAW File Format

Only a “raw” tape file format is supported at this time. Such a file can be created by extracting the tape data from a UEF file including start/stop bits. A python uef2raw.py script will do this for you and can be found in the SVN sw/tools/acorn folder.

Usage:
python uef2raw.py <input_file.uef> <output_file.raw>

The use of raw files is a little inconvenient but represents a working compromise until UEF support is available.

Loading

From the “Virtual Tape” OSD menu, select tape “1 (raw)” and choose a raw file (prepared as above). Switch to the “Cassette Player” menu and switch “Play” to ON. The core implements motor control so the tape will not being playing until a the Electron enables the motor.

Load the program/app/game as normal by issuing

CHAIN””

There is no need to toggle play to OFF, the Electron will pause playback as and when needed.

You can work around the lack of rewind by ejecting and re-inserting the tape which will reset the position to the beginning of the tape.

Saving

In order to save, you need to mount a pre-created raw file with plenty of space. You can create a blank 1 megabyte (smaller files will be fine too, just give yourself enough wiggle room for the largest program you plan to save) tape on Linux using:-

dd if=/dev/zero of=tape_1.raw bs=1M count=1

Tapes up to around 400MB in size should be usable although ill advised until there’s a way to jump to specific counter locations unless you fancy waiting 41 days to reach programs at the end of the tape 😉

Before mounting a tape, ensure PLAY and REC are OFF. Insert the tape then switch REC to ON and then PLAY to ON. Save as normal e.g

SAVE “TESTING”

and press return. Don’t forget to toggle record off when done.

Further Information

So far only a handful of games have been tested with this core and not extensively. They include, Elite, Hopper, Sphinx Adventures, Jet Set Willy, Monsters, Repton and the Introductory Cassette.

Please report any issues with the core and any games on the fpgaarcade forum

For the latest core information and setup instructions refer to the readme.txt file in the svn core sdcard directory.

If you’re interested in reading about the development of this core, it’s documented in a series of blog posts .

DOWNLOAD

The latest Acorn Electron source is available via SVN.

Views: 71