Skip to content

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