Cannonball - OutRun Engine for AmigaOS4 by HunoPPC

Cannonball - OutRun Engine for AmigaOS4 by HunoPPC 2025
======================================
CannonBall is an souped up game engine for the OutRun arcade game. The original 68000 and Z80 assembler code has been rewritten in C++. This makes it possible to make improvements suitable for modern platforms, including a higher frame-rate and widescreen support. It requires the original ROMs, as these contain elements including the graphics and audio data.
* For an overview of CannonBall and its features, please read the [manual](https://github.com/djyt/cannonball/wiki).
* [Reassembler Blog](http://reassembler.blogspot.co.uk/)
* [Twitter](https://twitter.com/djyt)
Please note that I maintain the Windows build of CannonBall. Whilst I strive to ensure this is a fully cross-platform project that compiles across Linux, Wii, Mac, Pi4 etc. I do not maintain those ports. Port specific issues should be raised with the respective person.
Thank you!
Chris White (Project Creator).
Getting Started
---------------
CannonBall is coded in C++ and makes use of the SDL 2 and Boost libraries.
CannonBall has been successfully built for Windows, Mac OS X, Linux, Open Pandora and the Raspberry Pi.
CannonBall can use OpenGL, OpenGLES (mobile platforms) or plain SDL2 for rendering.
I have recently deprecated support for SDL 1, to focus on SDL 2. But feel free to grab an older version from github if you need it.
* Install your favourite C++11 environment (e.g. GCC, Visual Studio, Xcode, MingGW etc.)
* Install [CMake](http://www.cmake.org/). This generates your platform and compiler build files.
* Extract the [Boost Library](http://www.boost.org/) somewhere, for example: c:\coding\lib\boost_1_74_0 Note that Boost does not need to be compiled, as only the header libraries are used. This keeps things nice and lightweight.
* Extract the [SDL Development Library](https://www.libsdl.org/download-2.0.php) somewhere, for example: c:\coding\lib\SDL2-2.0.12
* Read the SDL documentation & build the SDL Library for your system.
* Windows only: I needed to copy cannonball/cmake/windows_copy_to_sdl2_lib_directory/sdl2-config.cmake to c:\coding\lib\SDL2-2.0.12
* Windows only: download and install the [Direct 8.1 SDK](https://archive.org/details/dx81sdk_full). This is used for force-feedback and a legacy from when I was using SDL 1. I should update it sometime to use SDL 2 instead.
* 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.
Build
-----
* 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.
### Visual Studio 2019 Community Edition
* Create to the sub-directory you want to create your build files in (e.g. or vs_build)
cmake -G "Visual Studio 16 2019" ../cmake
* Open the created CannonBall solution in VS 2019.
* Right click and choose 'Set as StartUp project'.
* Set working directory to something sensible. Right click -> Configuration properties -> Debugging
* Ensure config.xml is in the working directory. _You can specify an alternate location on the command line_
* Edit config.xml to reflect the paths of your roms and res directories. By default, they should be in the working directory.
* Copy the OutRun revision B romset to the roms subdirectory.
* You can then compile, debug and run from Visual Studio as expected.
Install:
Copy your Roms on 'roms' Folder:
-------------------------------------------------------------------------------
Place OutRun Revision B ROMs in this directory.
They must be named as follows:
-------------------------------------------------------------------------------
epr-10187.88
epr-10327a.76
epr-10328a.75
epr-10329a.58
epr-10330a.57
epr-10380b.133
epr-10381a.132
epr-10382b.118
epr-10383b.117
mpr-10371.9
mpr-10372.13
mpr-10373.10
mpr-10374.14
mpr-10375.11
mpr-10376.15
mpr-10377.12
mpr-10378.16
opr-10185.11
opr-10186.47
opr-10188.71
opr-10189.70
opr-10190.69
opr-10191.68
opr-10192.67
opr-10193.66
opr-10230.104
opr-10231.103
opr-10232.102
opr-10266.101
opr-10267.100
opr-10268.99
-------------------------------------------------------------------------------
The original Japanese release of OutRun featured slightly different tracks
and course ordering.
Optionally, you can include the following files from the Japanese version to
play these alternate tracks:
-------------------------------------------------------------------------------
epr-10380.133
epr-10382.118
epr-10381.132
epr-10383.117
epr-10327.76
epr-10329.58
epr-10328.75
epr-10330.57
-------------------------------------------------------------------------------
Fixed Audio Rom (Optional)
http://reassembler.blogspot.co.uk/2013/01/outrun-original-game-shipped-w...
-------------------------------------------------------------------------------
opr-10188.71f
Copy all new musics (.wav) on 'res' Folder
* saturn_lastwave.wav
* saturn_magicalsoundshower.wav
* saturn_passingbreeze.wav
* saturn_splashwave.wav
* switch_camino.bin
* switch_camino_alt.bin
* switch_cruisingline.bin
* switch_midnighthighway.wav
* switch_outrun_megamix.wav
* switch_radiation.bin
* switch_steponbeat.bin
* switch_steponbeat_md.bin
* tilemap.bin
* tilepatch.bin
All my Gold/Silver and Hardware supporters (Thank you very much for your big support and big Donations) :
* Gardian of blind
* AmicaIT
* Stellerex
* cloverskull
* Dwayne Jarvis
* Mr_byte
* George Sokianos
* Thomas Kölsch
* Rene Engel (Maijestro)
* Remi
* Neuron55
Thanks go to:
My children "Matthis" and "Sorhenn" for allowing me some time to develop
Hyperion Entertainment For the development of Amiga OS 4.0 and 4.1
A-EON for all new 3D drivers (Hans for NOVA and Daniel for Ogles2)
Relec for my X1000 NEMO and AMEDIA (AAA) for my X5000/40 my A1222 Plus (TABOR)
George Sakianos for my new cool web site and SDK clib4 package
Afxgroup for clib4
Marek for SPE clib4
David for testing and betatest this game
All my betatesters
And of course the whole AMIGA community and my generous donators.
Bugreports for AmigaOS 4x at
NOUVEL (HunoPPC) Hugues (your humble servant)
hunoppc(AT)gmail.com
http://hunoppc.amiga-projects.net/
Site Dev AmigaOS4: http://hunoppc.a1k.org
My ko-fi site: https://ko-fi.com/hunoppc
"Don't forget to make a small gesture, make a donation for the hours and work done if you still want to have free ports, thank you in advance and have fun."
Donate to hunoppc(AT)gmail.com or if you want to treat me to a beer or parts for my MAZDA RX7 /_\ (rotary experience) :-)
Amiga French Team 2025
