Muffinresearch Labs by Stuart Colville

Ubuntu: Installing the Beebem BBC Micro Emulator | 5 Comments

Posted in Code, Geek on 27th May 2010, 10:37 pm by

BBC Micro

Ah the BBC Micro. I have very fond memories of our first computer, idling away countless hours attempting to load games from tape for them only to crash shortly after you started playing them. I also remember one hot summer spending epic amounts of time playing Elite after I’d stumbled into a bug with the pulse lasers where you could get a rebate for them under some bizarre criteria when trading in the space station. It meant if you sat there for hours pressing a specific key combo you could slowly build up a huge amount of credits in order to buy the finest military lasers, escape pods and hyperspace jumps so you could dish out some pain to the Thargoids.

In order to take a trip down memory lane I’d stumbled across a great site with downloads of a lot of the original games for the BBC Micro at http://www.bbcmicrogames.com/. However to be able to play them I needed an emulator.

Enter the BeebEm for unix, an emulator which was originally developed for Unix by David Gilbert in 1994 and has since been ported to Windows and OSX. Dave Eggleston now maintains the sourcecode at http://beebem-unix.bbcmicro.com/.

Compiling and installing the emulator

Here’s the instructions I used to get it set-up which are based on the instructions on the Unix Beebem downloads page with some Ubuntu specific additions.

Note: I’ve listed the deps I needed to install but YMMV. If you find the ./configure line bails with a missing dependency please let me know in the comments, so I can update this post.

# Install the dependencies
sudo apt-get install libsdl1.2-dev libgtk2.0-dev build-essential

# create a directory
mkdir beebem && cd beebem

# Get the source files and patches
wget http://beebem-unix.bbcmicro.com/download/beebem-0.0.13{.tar.gz,_64bit.patch,-keys.patch,_menu_crash.patch}

# Unpack the main source-code
tar -xzf beebem-0.0.13.tar.gz

# patch the source-code
for file in *.patch; do patch -p0 < $file; done

# Change directory into the source-code directory
cd beebem-0.0.13/

# build it
./configure --enable-econet
make
sudo make install-strip

Next assuming that was successful, for a real blast from the past you can start up the welcome disk with:

beebem welcome.ssd

Or alternatively grab an awesome game and give it a spin. I chose the insanely difficult "Amcom Fortress" which can be downloaded from this page: http://www.bbcmicrogames.com/bestrest.html (Note all games are still copyright their respective owners)

All you have to do to run it is unzip it and then run it with:

beebem /path/to/fortress.ssd

Fortress on the Beebem Emulator

Then kick back and enjoy some retro gaming action.

UPDATE: Here's a couple of further tips.

Some games don't autoload. Fortress happens to work in that way. If that the case for the game you are loading check out http://www.bbcmicrogames.com/ as there may be additional instructions. A lot of the games need to be run with CHAIN e.g. CHAIN"ELITE".

To access the settings for Beebem press F11/F12

Post Tools

  • Chris

    Thanks for this! Only part of command sequence which needed tiny modification was “make install-strip” which required to be run as “sudo” on my system.

  • http://muffinresearch.co.uk Stuart Colville

    @Chris: Thanks for letting me know, I’ve updated the post.

  • Pansmanser

    Awesome instructions. Thanks.
    Worth mentioning what to do with games which come as .img instead of .ssd?

  • http://www.stevepdp.org stevepdp

    Your instructions are still good for 64bit Ubuntu 12.04.

    Many thanks!

  • http://muffinresearch.co.uk Stuart Colville

    @Pansmanser: if you have an image file then you’ll need to press F12, go to discs and insert in slot 0. Save config then reset which should load the disc. Then see the instructions for the game. As an example: To load Chuckie Egg this would be CHAIN"CHUCKIE"

GNU screen: open tab in current working directory|(1)

A nice trick for having screen open a new tab in the same directory as the one you’re currently in. To use it add it to your .screenrc

# Open new window in current dir.
bind c stuff "screen -X chdir \$PWD;screen^M"
bind ^c stuff "screen -X chdir \$PWD;screen^M"

Hat tip: mteckert on SuperUser.com

Ubuntu: add-apt-repository: command not found|(3)

When you’re using a minimal Ubuntu install if you find the ‘add-apt-repository’ command is missing (it’s useful for adding PPAs and other repositories), then simply run:

sudo apt-get install python-software-properties

Photos on Flickr

© Copyright 2004-12 Stuart Colville, all rights reserved. May contain traces of Muffin. Powered by WordPress. Hosting by Slicehost.com This page was baked in 0.545s.