SimCoupe for Raspberry Pi
Raspberry Pi boards are starting to reach more end users, so it seems like a good time to cover what’s needed to get SimCoupe running on it.
The instructions below will lead you through downloading and building SimCoupe on the Pi itself. If you’d prefer to download a ready-to-run binary, skip to the end.
System Requirements
- Raspberry Pi board (or QEMU ARM setup).
- Debian “squeeze” (debian6-19-04-2012) image written to SD card.
- Network connection for software downloads.
Building From Source
As a first step we add the pi user to the video group, so it has permission to use the framebuffer device (/dev/fb0). This is needed to run SimCoupe from the console:
sudo usermod -a -G video pi
For this to take effect you’ll need to log out and back in again:
exit
The Debian image includes most of the development tools, but we need some additional libraries, and SubVersion:
sudo apt-get install libsdl-dev libz-dev subversion
Press Enter when prompted to confirm the downloads (around 22MB). It’ll take a couple of minutes to install them once the downloads complete.
Next we fetch the SimCoupe source code:
svn co https://simcoupe.svn.sourceforge.net/svnroot/simcoupe/trunk/SimCoupe@1413
This will appear to do nothing for around 20 seconds as it determines the list of files to download, so please be patient. The @1413 suffix selects a specific code revision known to work on the Pi. You can remove this suffix to download latest revision, but there may be additional building requirements.
We’re now ready to compile the code using:
cd SimCoupe/SDL
make
This will take about 8 minutes, so go make yourself a cup of tea.
Once that completes you should have a binary ready to be launched using:
./simcoupe
Before you do that, let’s download a SAM game demo to play:
wget http://tinyurl.com/manicmdemo
As a final step we’ll load the ALSA sound driver for Pi audio support, which isn’t enabled by default. You’ll need to run this on every boot, unless you add it to the system startup scripts:
sudo modprobe snd_bcm2835
The sound driver is still under active development and considered alpha quality. It’s more stable than the previous release but CPU usage is still a bit high side, which may interfere with SimCoupe. Future Debian releases should include an updated driver.
To launch SimCoupe and boot the Manic Miner demo use:
./simcoupe ManicMinerDemo.zip
Binary Download
Here’s one I made earlier:
wget http://simcoupe.org/files/simcoupi-r1413.zip
unzip simcoupi-r1413.zip
./simcoupe
Known Issues
It sometimes takes 10 seconds to close the ALSA audio device. This delay may be experienced when quitting the emulator (Ctrl-F12), or after changing sound settings in the SimCoupe options (F10). Hopefully a future driver update will fix this issue.
ToDo
SimCoupe does not yet take full advantage of the Pi hardware. A future release will use OpenGL ES for hardware accelerated stretching and alpha blending. Using a 50Hz/PAL display mode and vsync should also allow perfectly smooth scrolling, with audio scaled slightly to match.