Star on GitHubStar2.4k stars

Case study

CannonBall: rewriting the OutRun arcade engine in C++

CannonBall rewrites the OutRun arcade game's 68000 and Z80 assembly as a C++ engine. It reads graphics and audio from the user's original ROMs and supports higher frame rates, widescreen output and SDL2-based rendering.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Evidence class
C2 code & docs, no demo or download
Stars
891
Last commit
2022-01-30
Language
C++

GitHub data as of 2026-11-10

Copy as MarkdownView JSONCite

Evidence

Observed
Code, documentation and a download method observed; no demo found.
Checked
2026-11-09

How evidence classes are assigned

Requirements & limits

  • Requires the original OutRun revision B ROM set.
  • Builds with a C++11 toolchain, CMake, SDL2 and Boost.
  • The author maintains the Windows build but not the other platform ports.

Cite

BibTeX

@misc{cannonball-outrun-case,
  title = {{CannonBall: rewriting the OutRun arcade engine in C++}},
  howpublished = {\url{https://github.com/djyt/cannonball}},
  url = {https://github.com/djyt/cannonball},
  urldate = {2026-11-06},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/cannonball-outrun-case/}}
}

Plain text

CannonBall: rewriting the OutRun arcade engine in C++. https://github.com/djyt/cannonball (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/cannonball-outrun-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · djyt/cannonball · Revision 27493eb

More in Games

All 2976 entries in GamesGames case studies (2832)

↑↓ move↵ open⌘↵ new tab