emulator: Abuse type: standalone core_classification: game_engine source: "https://github.com/Xenoveritas/abuse" upstream: "https://github.com/Xenoveritas/abuse" profiled_date: "2026-10-04" source_commit: "c855a923cd7fb27b629b4e1af78b1fcc5f263d01" core_version: "v0.9.1" display_name: "Abuse" cores: [abuse] systems: [] verification: existence notes: | Side-scrolling 1995 action game by Crack dot Com, SDL2 fork from the Xenoveritas branch. The port ships its own game data in-tree under data/ (14 MB), including the Lisp scripts, levels, art and freedesktop metadata. The fRaBs expansion was removed from this fork over licensing uncertainty. Entry point abuse.lsp is loaded relative to the data directory. The data root is set in src/sdlport/setup.cpp: 1. -datadir CLI argument (setup.cpp:327-332) 2. datadir= in abuse.cfg (setup.cpp:182) 3. ASSETDIR compile-time constant, filled by CMakeLists.txt:45-54, "." on Windows, abuse.app/Contents/Resources/data on macOS, share/games/abuse on Linux (setup.cpp:441-474) Loader1 reads abuse.lsp via lisp (loader2.cpp:284), which chain-loads lisp/english.lsp -> lisp/common.lsp -> lisp/startup.lsp -> ... Batocera's packaging (package/batocera/ports/abuse/abuse.mk) pins DASSETDIR to /userdata/roms/abuse and splits the data into the Pacman package abuse-data which pulls abuse.zoy.org's abuse-data-2.00.tar.gz, a 16 MB public-domain pack that includes music/ and sfx/ (which the Xenoveritas tree omits). No separate BIOS or firmware. The whole game is open content. files: - name: "abuse.lsp" category: game_data description: "Lisp entry point loaded first after setting the data directory" required: true bundled: true source_ref: "src/loader2.cpp:284 (lsf default), src/netcfg.cpp:204 (lsf override)" note: > Shipped in the source tree under data/. Loader2 reads it via load(), and the file in turn chain-loads the rest of the Lisp data (english.lsp, common.lsp, startup.lsp, options.lsp, input.lsp, startup). - name: "defaults.prp" category: game_data description: "Default properties for level objects" required: true bundled: true source_ref: "data/abuse.lsp" - name: "english.lsp" path: "lisp/english.lsp" category: game_data description: "Localized strings loaded first by abuse.lsp" required: true bundled: true source_ref: "data/abuse.lsp:9"