Cannonball: An Enhanced OutRun Engine
C++ CMake
Clone or download
djyt Merge pull request #29 from psyke83/master
RPI: use new vendor graphics library name
Latest commit 0c0814d Dec 1, 2017

Cannonball - OutRun Engine

See Reassembler Blog.


  • Chris White - Project creator.
  • Arun Horne - Cross platform work.

Getting Started

Cannonball has been successfully built for Windows, Mac OS X, Linux, Open Pandora and the Raspberry Pi.

  • Install your favourite C++ environment (e.g. GCC, Visual Studio, Xcode, MingGW etc.)
  • Install CMake. This generates your platform and compiler build files.
  • Extract the Boost Library somewhere, for example: c:\coding\lib\boost_1_51_0
  • Extract the SDL Library somewhere, for example: c:\coding\lib\SDL-1.2.15
  • Read the SDL documentation & compile the SDL Library for your system.
  • Windows only, download and install the Direct 8.1 SDK
  • Extract the Cannonball code somewhere, for example: c:\coding\cannonball
  • You may need to create a .cmake file for your system to configure specific options. See the cmake subdirectory for more details. If not, the default.cmake file will be used.


  • Run CMake to generate the relevant build files for your compiler. You can optionally pass -DTARGET=filename to pass a custom .cmake file
  • Compile using your chosen compiler. Further details below.

mkdir build
cd build

Non-IDE (e.g. straight GCC)

cmake -G "Insert Generator Name Here" ../cmake


cmake -G "MinGW Makefiles" -DTARGET=mingw ../cmake

Visual Studio 2010

cmake -G "Visual Studio 10" ../cmake


cmake -G "Unix Makefiles" -DTARGET:STRING=macosx ../cmake
  • Copy SDL.DLL and the roms subdirectory to the build directory.
  • Right click the 'cannonball' project in the IDE and choose 'Set as StartUp project'.
  • You can then compile, debug and run from Visual Studio as expected.


  • Copy the OutRun revision B romset to the roms subdirectory. Rename the files if necessary.
  • Copy or link the roms subdirectory to whereever your executable resides.

ln -s ../roms roms

Building SDL-1.2.15


./configure --prefix=~/SDL-1.2.15/build --disable-assembly


See: Setting up MSYS MinGW build system for compiling SDL OpenGL applications.

Execute the below commands from the msys environment.

./configure --prefix=/mingw --enable-stdio-redirect=no
make install