Cannonball - RetroBIOS¶
| Type | game |
| Classification | game_engine |
| Source | https://github.com/libretro/cannonball |
| Upstream | https://github.com/djyt/cannonball |
| Version | 1.0 |
| Profiled | 2026-03-23 |
| Cores | cannonball |
| Systems | sega-outrun |
Technical notes
Cannonball is an enhanced OutRun engine that runs the original Sega OutRun arcade ROM set (Rev B). It is not a traditional emulator but a source port that loads the original ROM data for graphics, sound, and gameplay logic.
The core looks for ROM files in one of two locations (src/main/libretro/main.cpp:945-967): 1. The directory containing a loaded .game content file 2. {system_dir}/cannonball/
ROM loading is in src/main/roms.cpp. Each file is verified by CRC32 at load time (src/main/romloader.cpp:70-76). Files are loaded as raw ROM chips, not inside ZIP archives.
The Rev B ROM set is always required. Japanese ROM variants are loaded on demand when the "Japanese Tracks" core option is enabled.
Two optional widescreen tilemap patches are loaded from a res/ subdirectory (src/main/engine/omusic.cpp:42-51). These are Cannonball-specific data files, not original arcade ROMs.
The fixed PCM sample variant (opr-10188.71f) replaces opr-10188.71 when the "Fix Broken Samples" core option is enabled.
42 files | 31 required, 11 optional | 39 in repo, 3 missing Categories: 42 game data
epr-10381a.132 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
be8c412b - Aliases:
epr-10381b.132 - Validation: crc32
- Source:
src/main/roms.cpp:29 - Master 68K, high byte, upper bank
epr-10383b.117 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
10a2014a - Validation: crc32
- Source:
src/main/roms.cpp:38 - Master 68K, low byte, upper bank
epr-10380b.133 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
1f6cadad - Validation: crc32
- Source:
src/main/roms.cpp:39 - Master 68K, high byte, lower bank
epr-10382b.118 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
c4c3fa1a - Validation: crc32
- Source:
src/main/roms.cpp:40 - Master 68K, low byte, lower bank
epr-10327a.76 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
e28a5baf - Validation: crc32
- Source:
src/main/roms.cpp:44 - Slave 68K, high byte, lower bank
epr-10329a.58 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
da131c81 - Validation: crc32
- Source:
src/main/roms.cpp:45 - Slave 68K, low byte, lower bank
epr-10328a.75 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
d5ec5e5d - Validation: crc32
- Source:
src/main/roms.cpp:46 - Slave 68K, high byte, upper bank
epr-10330a.57 -required, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
ba9ec82a - Validation: crc32
- Source:
src/main/roms.cpp:47 - Slave 68K, low byte, upper bank
opr-10268.99 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
95344b04 - Validation: crc32
- Source:
src/main/roms.cpp:51 - Tile ROM bank 0
opr-10232.102 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
776ba1eb - Validation: crc32
- Source:
src/main/roms.cpp:52 - Tile ROM bank 1
opr-10267.100 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
a85bb823 - Validation: crc32
- Source:
src/main/roms.cpp:53 - Tile ROM bank 2
opr-10231.103 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
8908bcbf - Validation: crc32
- Source:
src/main/roms.cpp:54 - Tile ROM bank 3
opr-10266.101 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
9f6f1a74 - Validation: crc32
- Source:
src/main/roms.cpp:55 - Tile ROM bank 4
opr-10230.104 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
686f5e50 - Validation: crc32
- Source:
src/main/roms.cpp:56 - Tile ROM bank 5
opr-10185.11 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
22794426 - Validation: crc32
- Source:
src/main/roms.cpp:60 - Road ROM, layer 1
opr-10186.47 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
22794426 - Validation: crc32
- Source:
src/main/roms.cpp:61 - Road ROM, layer 2 (identical to opr-10185.11)
mpr-10371.9 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
7cc86208 - Validation: crc32
- Source:
src/main/roms.cpp:65 - Sprite ROM, bank 0 byte 0
mpr-10373.10 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
b0d26ac9 - Validation: crc32
- Source:
src/main/roms.cpp:66 - Sprite ROM, bank 0 byte 1
mpr-10375.11 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
59b60bd7 - Validation: crc32
- Source:
src/main/roms.cpp:67 - Sprite ROM, bank 0 byte 2
mpr-10377.12 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
17a1b04a - Validation: crc32
- Source:
src/main/roms.cpp:68 - Sprite ROM, bank 0 byte 3
mpr-10372.13 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
b557078c - Validation: crc32
- Source:
src/main/roms.cpp:69 - Sprite ROM, bank 1 byte 0
mpr-10374.14 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
8051e517 - Validation: crc32
- Source:
src/main/roms.cpp:70 - Sprite ROM, bank 1 byte 1
mpr-10376.15 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
f3b8f318 - Validation: crc32
- Source:
src/main/roms.cpp:71 - Sprite ROM, bank 1 byte 2
mpr-10378.16 -required, game_data
- System: sega-outrun
- Size: 128.0 KB
- CRC32:
a1062984 - Validation: crc32
- Source:
src/main/roms.cpp:72 - Sprite ROM, bank 1 byte 3
epr-10187.88 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
a10abaa9 - Validation: crc32
- Source:
src/main/roms.cpp:76 - Z80 sound program
opr-10193.66 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
bcd10dde - Validation: crc32
- Source:
src/main/roms.cpp:80 - PCM sample bank 0
opr-10192.67 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
770f1270 - Validation: crc32
- Source:
src/main/roms.cpp:81 - PCM sample bank 1
opr-10191.68 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
20a284ab - Validation: crc32
- Source:
src/main/roms.cpp:82 - PCM sample bank 2
opr-10190.69 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
7cab70e2 - Validation: crc32
- Source:
src/main/roms.cpp:83 - PCM sample bank 3
opr-10189.70 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
01366b54 - Validation: crc32
- Source:
src/main/roms.cpp:84 - PCM sample bank 4
opr-10188.71 -required, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
bad30ad9 - Validation: crc32
- Source:
src/main/roms.cpp:85 - PCM sample bank 5
opr-10188.71f -optional, game_data
- System: sega-outrun
- Size: 32.0 KB
- CRC32:
37598616 - Validation: crc32
- Source:
src/main/roms.cpp:123 - PCM sample bank 5, fixed version (replaces opr-10188.71)
res/tilemap.bin -optional, game_data, missing from repo
- System: sega-outrun
- Source:
src/main/engine/omusic.cpp:42-44 - Widescreen tilemap patch, Cannonball-specific
res/tilepatch.bin -optional, game_data, missing from repo
- System: sega-outrun
- Source:
src/main/engine/omusic.cpp:49-51 - Widescreen tile patch, Cannonball-specific
epr-10380.133 -optional, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
e339e87a - Validation: crc32
- Source:
src/main/roms.cpp:104 - Master 68K Japan, high byte, lower bank
epr-10382.118 -optional, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
65248dd5 - Validation: crc32
- Source:
src/main/roms.cpp:105 - Master 68K Japan, low byte, lower bank
epr-10381.132 -optional, game_data, missing from repo
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
be8c412b - Validation: crc32
- Source:
src/main/roms.cpp:106 - Master 68K Japan, high byte, upper bank
epr-10383.117 -optional, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
dcc586e7 - Validation: crc32
- Source:
src/main/roms.cpp:107 - Master 68K Japan, low byte, upper bank
epr-10327.76 -optional, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
da99d855 - Validation: crc32
- Source:
src/main/roms.cpp:110 - Slave 68K Japan, high byte, lower bank
epr-10329.58 -optional, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
fe0fa5e2 - Validation: crc32
- Source:
src/main/roms.cpp:111 - Slave 68K Japan, low byte, lower bank
epr-10328.75 -optional, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
3c0e9a7f - Validation: crc32
- Source:
src/main/roms.cpp:112 - Slave 68K Japan, high byte, upper bank
epr-10330.57 -optional, game_data
- System: sega-outrun
- Size: 64.0 KB
- CRC32:
59786e99 - Validation: crc32
- Source:
src/main/roms.cpp:113 - Slave 68K Japan, low byte, upper bank
Generated on 2026-03-25T14:56:43Z