Skip to content

XRick - RetroBIOS

Type libretro
Classification Game engines
Source https://github.com/libretro/xrick-libretro
Upstream https://github.com/fabiensanglard/xrick
Version 1.0.0.6
Profiled 2026-03-30
Cores xrick
Systems xrick
Source analysis
  • content_type: game_engine content_extensions:

  • *

  • zip

  • system_directory_used: True

  • supports_no_content: True
  • data_files_location: system/xrick/data.zip (standalone) or content path (with content) compiled_in_data:

  • dat_ents.c (entity/NPC tables)

  • dat_maps.c (level map data)
  • dat_picsPC.c, dat_picsST.c (background images, PC and Atari ST)
  • dat_screens.c (screen layout data)
  • dat_snd.c (sound metadata/indices)
  • dat_spritesPC.c, dat_spritesST.c (sprite graphics)
  • dat_tilesPC.c, dat_tilesST.c (tile graphics)

external_data:

**sounds:**

- bombshht.wav, bonus.wav, box.wav, bullet.wav, crawl.wav, die.wav
- ent0.wav through ent8.wav (9 entity sound effects)
- explode.wav, gameover.wav, jump.wav, pad.wav
- sbonus1.wav, sbonus2.wav, stick.wav, walk.wav
- tune0.wav through tune5.wav (6 music tracks)
Technical notes

XRick is an open-source reimplementation of the Rick Dangerous engine (Core Design, 1989), ported to libretro. It is not a general-purpose emulator; it only plays Rick Dangerous.

The core sets need_fullpath = true, valid_extensions = "*|zip", and supports launching without content (RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME = true, libretro/core/libretro-core.c:93-97).

Game data handling works in two modes (retro_load_game, libretro/core/libretro-core.c:312-360): 1. Content provided: the content path is passed directly as the -data argument (line 318: snprintf "xrick" "-data" "%s"). Content can be data.zip or a directory. 2. No content (standalone): the core builds the path {system_dir}/xrick/data.zip using fill_pathname_join_special_ext(RETRO_DIR, "xrick", "data", ".zip") at lines 324-326. If this file is missing, a "game files missing" error is displayed (line 337) and loading fails.

The fallback data path at line 359 confirms the expected location: snprintf(RPATH, ... "xrick" "-data" "%s/xrick/data.zip", RETRO_DIR)

All game graphics, maps, tile data, entity tables, and screen layouts are compiled directly into the binary from dat_*.c source files (dat_ents.c, dat_maps.c, dat_picsPC.c, dat_picsST.c, dat_screens.c, dat_snd.c, dat_spritesPC.c, dat_spritesST.c, dat_tilesPC.c, dat_tilesST.c). Only the sound files are external.

data.zip contains 29 WAV files in a sounds/ subdirectory: sound effects (bombshht, bonus, box, bullet, crawl, die, ent0-ent8, explode, gameover, jump, pad, sbonus1, sbonus2, stick, walk) and music tracks (tune0 through tune5). The data.c module handles opening files from either a .zip archive (via unzip.c) or a flat directory, selected by extension detection (data.c:56-73).

xrick.c:23 shows the hardcoded fallback: data_setpath("data.zip") when no -data argument is provided.

system_dir is obtained via RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY (libretro/core/libretro-core.c:185-189), falling back to "." if unavailable.

The data.zip file ships in the xrick-libretro repository root and is the original xrick 0.21212 game data release from 2002 by BigOrno.

1 files | 1 required, 0 optional | 1 in repo, 0 missing Categories: 1 game data

xrick/data.zip required in repo game_data
Rick Dangerous sound data (29 WAV files: sfx and music tracks)

Generated on 2026-09-14T09:03:10Z