Skip to content

Cannonball emulates OutRun. It reads 40 files, 31 of them required: without a required file it does not start games.

About this profile
Detail Value
Type libretro
Classification Game engine
Source https://github.com/libretro/cannonball
Upstream https://github.com/djyt/cannonball
Version 0.3, stated in src/main/frontend/menu.c
Revision libretro/cannonball@0d83575d920e, djyt/cannonball@27493ebf62be
Profiled 2026-03-23
Profile YAML, JSON
Cores cannonball
Systems OutRun
Install this emulator's files

The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.

Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.

PowerShell
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator cannonball
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.c:1009-1020):

  1. The directory containing a loaded .game content file
  2. {system_dir}/cannonball/

ROM loading is in src/main/roms.c. Each file is located by CRC32 first, canonical filename as fallback (src/main/romloader.c:168-201). 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.

The widescreen tilemap patches are compiled into the binary (tilemap_data.h) and loaded from memory (src/main/engine/omusic.c:50-67). res/tilemap.bin and res/tilepatch.bin of the repository are their source and are never opened. No config.xml is read: settings come from the core options (src/main/frontend/config.c:86-87). The res/ folder beside the ROMs is only a prefix for external music tracks, and the three tracks are the internal YM ones (src/main/libretro/main.c:1045, src/main/frontend/config.c:47-62, src/main/engine/omusic.c:283-298).

The fixed PCM sample variant (opr-10188.71f) replaces opr-10188.71 when the "Fix Broken Samples" core option is enabled.

40 files: 31 required, 9 optional.

By kind: 40 game data.

In this collection: 40 in repo and 0 missing.

40 rows
FileStatusHash

epr-10381b.132

  • Path: cannonball/epr-10381b.132
  • System: OutRun
  • Aliases: epr-10381b.132
  • Master 68K, high byte, upper bank
Hashes, validation and source
  • CRC32: be8c412b
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:39 (upstream emulator)
required in repo game dataCRC32 be8c412b

epr-10383b.117

  • Path: cannonball/epr-10383b.117
  • System: OutRun
  • Master 68K, low byte, upper bank
Hashes, validation and source
  • CRC32: 10a2014a
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:40 (upstream emulator)
required in repo game dataCRC32 10a2014a

epr-10380b.133

  • Path: cannonball/epr-10380b.133
  • System: OutRun
  • Master 68K, high byte, lower bank
Hashes, validation and source
  • CRC32: 1f6cadad
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:39 (upstream emulator)
required in repo game dataCRC32 1f6cadad

epr-10382b.118

  • Path: cannonball/epr-10382b.118
  • System: OutRun
  • Master 68K, low byte, lower bank
Hashes, validation and source
  • CRC32: c4c3fa1a
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:40 (upstream emulator)
required in repo game dataCRC32 c4c3fa1a

epr-10327a.76

  • Path: cannonball/epr-10327a.76
  • System: OutRun
  • Slave 68K, high byte, lower bank
Hashes, validation and source
  • CRC32: e28a5baf
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:44 (upstream emulator)
required in repo game dataCRC32 e28a5baf

epr-10329a.58

  • Path: cannonball/epr-10329a.58
  • System: OutRun
  • Slave 68K, low byte, lower bank
Hashes, validation and source
  • CRC32: da131c81
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:45 (upstream emulator)
required in repo game dataCRC32 da131c81

epr-10328a.75

  • Path: cannonball/epr-10328a.75
  • System: OutRun
  • Slave 68K, high byte, upper bank
Hashes, validation and source
  • CRC32: d5ec5e5d
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:46 (upstream emulator)
required in repo game dataCRC32 d5ec5e5d

epr-10330a.57

  • Path: cannonball/epr-10330a.57
  • System: OutRun
  • Slave 68K, low byte, upper bank
Hashes, validation and source
  • CRC32: ba9ec82a
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:47 (upstream emulator)
required in repo game dataCRC32 ba9ec82a

opr-10268.99

  • Path: cannonball/opr-10268.99
  • System: OutRun
  • Tile ROM bank 0
Hashes, validation and source
  • CRC32: 95344b04
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:51 (upstream emulator)
required in repo game dataCRC32 95344b04

opr-10232.102

  • Path: cannonball/opr-10232.102
  • System: OutRun
  • Tile ROM bank 1
Hashes, validation and source
  • CRC32: 776ba1eb
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:52 (upstream emulator)
required in repo game dataCRC32 776ba1eb

opr-10267.100

  • Path: cannonball/opr-10267.100
  • System: OutRun
  • Tile ROM bank 2
Hashes, validation and source
  • CRC32: a85bb823
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:53 (upstream emulator)
required in repo game dataCRC32 a85bb823

opr-10231.103

  • Path: cannonball/opr-10231.103
  • System: OutRun
  • Tile ROM bank 3
Hashes, validation and source
  • CRC32: 8908bcbf
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:54 (upstream emulator)
required in repo game dataCRC32 8908bcbf

opr-10266.101

  • Path: cannonball/opr-10266.101
  • System: OutRun
  • Tile ROM bank 4
Hashes, validation and source
  • CRC32: 9f6f1a74
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:55 (upstream emulator)
required in repo game dataCRC32 9f6f1a74

opr-10230.104

  • Path: cannonball/opr-10230.104
  • System: OutRun
  • Tile ROM bank 5
Hashes, validation and source
  • CRC32: 686f5e50
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:56 (upstream emulator)
required in repo game dataCRC32 686f5e50

opr-10185.11

  • Path: cannonball/opr-10185.11
  • System: OutRun
  • Road ROM, layer 1
Hashes, validation and source
  • CRC32: 22794426
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:60 (upstream emulator)
required in repo game dataCRC32 22794426

opr-10186.47

  • Path: cannonball/opr-10186.47
  • System: OutRun
  • Road ROM, layer 2 (identical to opr-10185.11)
Hashes, validation and source
  • CRC32: 22794426
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:61 (upstream emulator)
required in repo game dataCRC32 22794426

mpr-10371.9

  • Path: cannonball/mpr-10371.9
  • System: OutRun
  • Sprite ROM, bank 0 byte 0
Hashes, validation and source
  • CRC32: 7cc86208
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:65 (upstream emulator)
required in repo game dataCRC32 7cc86208

mpr-10373.10

  • Path: cannonball/mpr-10373.10
  • System: OutRun
  • Sprite ROM, bank 0 byte 1
Hashes, validation and source
  • CRC32: b0d26ac9
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:66 (upstream emulator)
required in repo game dataCRC32 b0d26ac9

mpr-10375.11

  • Path: cannonball/mpr-10375.11
  • System: OutRun
  • Sprite ROM, bank 0 byte 2
Hashes, validation and source
  • CRC32: 59b60bd7
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:67 (upstream emulator)
required in repo game dataCRC32 59b60bd7

mpr-10377.12

  • Path: cannonball/mpr-10377.12
  • System: OutRun
  • Sprite ROM, bank 0 byte 3
Hashes, validation and source
  • CRC32: 17a1b04a
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:68 (upstream emulator)
required in repo game dataCRC32 17a1b04a

mpr-10372.13

  • Path: cannonball/mpr-10372.13
  • System: OutRun
  • Sprite ROM, bank 1 byte 0
Hashes, validation and source
  • CRC32: b557078c
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:69 (upstream emulator)
required in repo game dataCRC32 b557078c

mpr-10374.14

  • Path: cannonball/mpr-10374.14
  • System: OutRun
  • Sprite ROM, bank 1 byte 1
Hashes, validation and source
  • CRC32: 8051e517
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:70 (upstream emulator)
required in repo game dataCRC32 8051e517

mpr-10376.15

  • Path: cannonball/mpr-10376.15
  • System: OutRun
  • Sprite ROM, bank 1 byte 2
Hashes, validation and source
  • CRC32: f3b8f318
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:71 (upstream emulator)
required in repo game dataCRC32 f3b8f318

mpr-10378.16

  • Path: cannonball/mpr-10378.16
  • System: OutRun
  • Sprite ROM, bank 1 byte 3
Hashes, validation and source
  • CRC32: a1062984
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:72 (upstream emulator)
required in repo game dataCRC32 a1062984

epr-10187.88

  • Path: cannonball/epr-10187.88
  • System: OutRun
  • Z80 sound program
Hashes, validation and source
  • CRC32: a10abaa9
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:77 (upstream emulator)
required in repo game dataCRC32 a10abaa9

opr-10193.66

  • Path: cannonball/opr-10193.66
  • System: OutRun
  • PCM sample bank 0
Hashes, validation and source
  • CRC32: bcd10dde
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:81 (upstream emulator)
required in repo game dataCRC32 bcd10dde

opr-10192.67

  • Path: cannonball/opr-10192.67
  • System: OutRun
  • PCM sample bank 1
Hashes, validation and source
  • CRC32: 770f1270
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:81 (upstream emulator)
required in repo game dataCRC32 770f1270

opr-10191.68

  • Path: cannonball/opr-10191.68
  • System: OutRun
  • PCM sample bank 2
Hashes, validation and source
  • CRC32: 20a284ab
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:83 (upstream emulator)
required in repo game dataCRC32 20a284ab

opr-10190.69

  • Path: cannonball/opr-10190.69
  • System: OutRun
  • PCM sample bank 3
Hashes, validation and source
  • CRC32: 7cab70e2
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:83 (upstream emulator)
required in repo game dataCRC32 7cab70e2

opr-10189.70

  • Path: cannonball/opr-10189.70
  • System: OutRun
  • PCM sample bank 4
Hashes, validation and source
  • CRC32: 01366b54
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:85 (upstream emulator)
required in repo game dataCRC32 01366b54

opr-10188.71

  • Path: cannonball/opr-10188.71
  • System: OutRun
  • PCM sample bank 5
Hashes, validation and source
  • CRC32: bad30ad9
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:85 (upstream emulator)
required in repo game dataCRC32 bad30ad9

opr-10188.71f

  • Path: cannonball/opr-10188.71f
  • System: OutRun
  • PCM sample bank 5, fixed version (replaces opr-10188.71)
Hashes, validation and source
  • CRC32: 37598616
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:123 (upstream emulator)
optional in repo game dataCRC32 37598616

epr-10380.133

  • Path: cannonball/epr-10380.133
  • System: OutRun
  • Master 68K Japan, high byte, lower bank
Hashes, validation and source
  • CRC32: e339e87a
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:106 (upstream emulator)
optional in repo game dataCRC32 e339e87a

epr-10382.118

  • Path: cannonball/epr-10382.118
  • System: OutRun
  • Master 68K Japan, low byte, lower bank
Hashes, validation and source
  • CRC32: 65248dd5
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:107 (upstream emulator)
optional in repo game dataCRC32 65248dd5

epr-10381.132

  • Path: cannonball/epr-10381.132
  • System: OutRun
  • Master 68K Japan, high byte, upper bank
Hashes, validation and source
  • CRC32: be8c412b
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:106 (upstream emulator)
optional in repo game dataCRC32 be8c412b

epr-10383.117

  • Path: cannonball/epr-10383.117
  • System: OutRun
  • Master 68K Japan, low byte, upper bank
Hashes, validation and source
  • CRC32: dcc586e7
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:107 (upstream emulator)
optional in repo game dataCRC32 dcc586e7

epr-10327.76

  • Path: cannonball/epr-10327.76
  • System: OutRun
  • Slave 68K Japan, high byte, lower bank
Hashes, validation and source
  • CRC32: da99d855
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:112 (upstream emulator)
optional in repo game dataCRC32 da99d855

epr-10329.58

  • Path: cannonball/epr-10329.58
  • System: OutRun
  • Slave 68K Japan, low byte, lower bank
Hashes, validation and source
  • CRC32: fe0fa5e2
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:113 (upstream emulator)
optional in repo game dataCRC32 fe0fa5e2

epr-10328.75

  • Path: cannonball/epr-10328.75
  • System: OutRun
  • Slave 68K Japan, high byte, upper bank
Hashes, validation and source
  • CRC32: 3c0e9a7f
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:112 (upstream emulator)
optional in repo game dataCRC32 3c0e9a7f

epr-10330.57

  • Path: cannonball/epr-10330.57
  • System: OutRun
  • Slave 68K Japan, low byte, upper bank
Hashes, validation and source
  • CRC32: 59786e99
  • Validation: crc32
  • Asked for by: upstream emulator
  • Source: src/main/roms.cpp:113 (upstream emulator)
optional in repo game dataCRC32 59786e99
.