Skip to content

XRick emulates Rick Dangerous. It reads 1 file, 1 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/xrick-libretro
Upstream https://github.com/fabiensanglard/xrick
Version 021212, stated in include/config.h
Revision libretro/xrick-libretro@fcfde3623a04
Profiled 2026-03-30
Profile YAML, JSON
Cores xrick
Systems Rick Dangerous
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 xrick
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 file: 1 required, 0 optional.

By kind: 1 game data.

In this collection: 1 in repo and 0 missing.

xrick/data.zip required in repo game data

Rick Dangerous sound data (29 WAV files: sfx and music tracks)

  • System: Rick Dangerous
  • Placed in system/xrick/data.zip. Contains sounds/ directory with 29 WAV files from the original xrick 0.21212 release. Without this file, standalone mode fails with 'XRick game files missing from frontend system directory'. Ships in the libretro repo root.
Hashes, packages and source
Source analysis
  • content type: game_engine

  • content extensions:

    • zip
  • system directory used: yes

  • supports no content: yes

  • 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)
.