feat: add emulator profiles (119-series batch 6 partial)

dolphin_launcher (stub launcher), oberon (RISC, bootloader embedded),
17 test cores (00_example through vidtest), 17 game/utility cores
(2048 through vaporspec), bennugd, boytacean, emux_chip8, fake08,
jaxe, lowresnx, opentyrian, openlara, squirreljme, vitaquake2, xrick

182 total profiles. 6 agents failed (API 500), will retry.
This commit is contained in:
Abdessamad Derraz
2026-03-18 05:09:11 +01:00
parent a5553def94
commit b43d71e113
38 changed files with 629 additions and 0 deletions

15
emulators/00_example.yml Normal file
View File

@@ -0,0 +1,15 @@
emulator: "00_example"
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- 00_example
systems: []
notes: |
Test/example core from libretro-samples. Minimal "hello world" libretro
implementation demonstrating the core API contract (retro_init, retro_run,
retro_load_game, etc.). Renders a simple color pattern to the framebuffer.
No system files, BIOS, or firmware required. Not an emulator.
files: []

10
emulators/2048.yml Normal file
View File

@@ -0,0 +1,10 @@
emulator: "2048"
type: game
source: "https://github.com/libretro/libretro-2048"
cores: [2048]
systems: []
files: []
notes: >
Libretro port of the 2048 sliding puzzle game by Gabriele Cirulli.
Self-contained core with all assets compiled into the binary.
No content file, BIOS, or system directory files required.

11
emulators/3dengine.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: 3DEngine
type: utility
source: "https://github.com/libretro/libretro-3dengine"
cores: [3dengine]
systems: []
files: []
notes: >
Tech demo rendering a 3D scene using software rasterization.
Demonstrates libretro hardware-accelerated rendering capabilities.
Self-contained core with all geometry and textures built in.
No content file, BIOS, or system directory files required.

View File

@@ -0,0 +1,16 @@
emulator: advanced_tests
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- advanced_tests
systems: []
notes: |
Advanced test core from libretro-samples. Exercises extended libretro API
features: subsystems, memory descriptors, serialization, multi-disk control,
and other optional environment callbacks. Used by frontend developers to
validate their implementations.
No system files, BIOS, or firmware required. Not an emulator.
files: []

11
emulators/anarch.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: Anarch
type: game
source: "https://github.com/libretro/anern"
cores: [anarch]
systems: []
files: []
notes: >
Libretro port of Anarch, a public domain suckless FPS game by Miloslav Ciz.
Entirely self-contained with all levels, textures, and sounds compiled
into the binary using procedural generation and hardcoded data tables.
No content file, BIOS, or system directory files required.

11
emulators/chailove.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: ChaiLove
type: game
source: "https://github.com/libretro/libretro-chailove"
cores: [chailove]
systems: []
files: []
notes: >
2D game framework for libretro inspired by LOVE2D, using ChaiScript.
Loads .chai or .chailove game files as content. The core itself is a
game engine runtime with no system directory dependencies.
No BIOS, firmware, or system directory files required.

11
emulators/craft.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: Craft
type: game
source: "https://github.com/libretro/Craft"
cores: [craft]
systems: []
files: []
notes: >
Libretro port of Craft, a simple Minecraft clone by Michael Fogleman.
Procedurally generates a voxel world with basic block placement and removal.
All textures and shaders are compiled into the binary.
No content file, BIOS, or system directory files required.

11
emulators/dinothawr.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: Dinothawr
type: game
source: "https://github.com/libretro/Dinothawr"
cores: [dinothawr]
systems: []
files: []
notes: >
Puzzle game developed by the libretro team as a reference libretro core.
Push blocks on ice to solve puzzles. Game data (maps, sprites, music)
ships in the libretro repo and is loaded as content.
No BIOS, firmware, or system directory files required.

View File

@@ -0,0 +1,20 @@
emulator: "Dolphin Launcher"
type: launcher
source: "https://github.com/RobLoach/libretro-dolphin-launcher"
cores:
- dolphin_launcher
systems: [nintendo-gamecube, nintendo-wii]
notes: |
Launcher stub that passes games to standalone Dolphin (dolphin-emu-nogui,
dolphin-emu, or Flatpak org.DolphinEmu.dolphin-emu). The core itself does
no emulation - it calls system() with the game path, waits for Dolphin to
exit, then signals RETRO_ENVIRONMENT_SHUTDOWN.
Requires Dolphin installed separately on the host. All BIOS/firmware files
(IPL.bin, DSP ROMs, fonts, Wii NAND) are managed by the standalone Dolphin
install, not by RetroArch system/. See dolphin.yml for those files.
No system files, BIOS, or firmware required by this core.
files: []

78
emulators/gam4980.yml Normal file
View File

@@ -0,0 +1,78 @@
emulator: GAM4980
type: libretro
source: "https://github.com/ThisBoringWorld/gam4980"
cores:
- gam4980
systems:
- bbk-longman-4980
# GAM4980 is a BBK Longman 4980 electronic dictionary game emulator for
# libretro. Original code from https://codeberg.org/iyzsong/gam4980, based
# on the BA4988 BBK simulator by Wuyun.
#
# The device uses a 6502-based CPU with banked ROM access.
#
# ROM loading (src/libretro.c:1171-1177, retro_init):
# The core gets the RetroArch system directory via RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY,
# appends "/gam4980" to build the ROM directory path, then calls sys_init(romdir).
#
# sys_init (src/libretro.c:693-723):
# Opens romdir/8.BIN and reads 0x200000 bytes (2 MB) into sys.rom_8 (font ROM).
# Opens romdir/E.BIN and reads 0x200000 bytes (2 MB) into sys.rom_e (OS ROM).
# Both files are mandatory -- no fallback, no error handling. The core will
# crash if either file is missing.
#
# Memory map (src/libretro.c:109-110, 300-305):
# 0x800000-0x9FFFFF rom_8 (font ROM, 8.BIN)
# 0xE00000-0xFFFFFF rom_e (OS ROM, E.BIN)
# These ROMs must be dumped from a physical BBK Longman 4980 dictionary.
#
# The .info file does not declare firmware entries. The core is marked
# is_experimental = true.
notes: |
Place 8.BIN and E.BIN in the RetroArch system/gam4980/ subdirectory.
Both files must be 2 MB dumps from a BBK Longman 4980 dictionary:
8.BIN - font ROM, dumped from address range 0x800000-0x9FFFFF
E.BIN - OS ROM, dumped from address range 0xE00000-0xFFFFFF
The core will crash without these files (no error handling in sys_init).
Game files use the .gam extension.
files:
- name: "gam4980/8.BIN"
size: 2097152
md5: ddfc001a6859d63ed46368ea7fe9f20c
sha1: 062067e6d661c3d3e10d910435be4a59db1bee9f
required: true
system: bbk-longman-4980
bundled: false
note: "Font ROM (2 MB). Loaded at 0x800000. Dumped from physical device (src/libretro.c:716-718)."
source_ref: "src/libretro.c:716"
- name: "gam4980/E.BIN"
size: 2097152
md5: 72a16fd0d2453108321edc65cd347c77
sha1: b486b6eda5cd7e79bb5605d1fbe36eb88bfc6724
required: true
system: bbk-longman-4980
bundled: false
note: "OS ROM (2 MB). Loaded at 0xE00000. Dumped from physical device (src/libretro.c:720-722)."
source_ref: "src/libretro.c:720"
platform_details:
bios_mapping:
target: "0x800000-0x9FFFFF (font), 0xE00000-0xFFFFFF (OS) in banked address space"
source_ref: "src/libretro.c:109-110, 300-305"
notes: |
sys.rom_8 and sys.rom_e are flat 2 MB arrays. The CPU accesses them
through bank-switched memory (PA() macro resolves virtual to physical
address). rom_8_vread and rom_e_vread handle indirect reads via
the banking system.
load_path:
source_ref: "src/libretro.c:1173-1177"
notes: |
retro_init() builds the path as {system_directory}/gam4980/ and
passes it to sys_init(). Files must be named exactly 8.BIN and
E.BIN (case sensitive on Linux). No .info firmware declarations
exist, so RetroArch won't warn about missing files at scan time.

12
emulators/gme.yml Normal file
View File

@@ -0,0 +1,12 @@
emulator: Game Music Emu
type: utility
source: "https://github.com/libretro/libretro-gme"
cores: [gme]
systems: []
files: []
notes: >
Libretro wrapper around Blargg's Game Music Emu library.
Plays chiptune music files from various consoles: NSF (NES), SPC (SNES),
GBS (Game Boy), VGM/VGZ (Sega), HES (PC Engine), AY (ZX Spectrum),
SAP (Atari), KSS (MSX). Loads music files as content.
No BIOS, firmware, or system directory files required.

10
emulators/gong.yml Normal file
View File

@@ -0,0 +1,10 @@
emulator: Gong
type: game
source: "https://github.com/libretro/gong"
cores: [gong]
systems: []
files: []
notes: >
Simple Pong clone written as a minimal libretro core example.
Self-contained with all rendering done programmatically.
No content file, BIOS, or system directory files required.

40
emulators/holani.yml Normal file
View File

@@ -0,0 +1,40 @@
emulator: Holani
type: libretro
source: "https://github.com/LLeny/holani-retro"
cores: [holani]
systems: [atari-lynx]
verification: existence
notes: |
Holani is a cycle-stepped Atari Lynx emulator written in Rust by LLeny.
The libretro port (holani-retro) loads lynxboot.img from the system
directory at retro_load_game time (lib.rs:110-121). Path is built as
system_directory + "/lynxboot.img", no subdirectory.
The core library (holani/src/rom.rs) embeds a free boot ROM from
https://bjoern.spruck.net/lynx/ as FREE_BOOTROM (512 bytes), used as
the default when no external ROM is loaded (Rom::default()). The
libretro wrapper attempts to load the real lynxboot.img, but if the
file is missing or the system directory is invalid, Lynx::new() already
has the free boot ROM initialized. No hash validation on the external
file; Rom::from_slice() only checks length == 512.
Unlike Handy and Gearlynx, Holani always boots because the free ROM
is compiled in. The real BIOS provides more accurate boot behavior
(encrypted cart loader, original RSA key), while the free ROM
reimplements the boot sequence without proprietary code.
ROM extensions: .lnx, .o
Core options: none.
files:
- name: "lynxboot.img"
description: "Atari Lynx boot ROM"
region: "World"
required: false
size: 512
sha1: "e4ed47fae31693e016b081c6bda48da5b70d7ccb"
md5: "fcd403db69f54290b51035d82f835e7b"
crc32: "0d973c9d"
source_ref: "holani-retro lib.rs:110-121 (bios load path), holani rom.rs:14-47 (FREE_BOOTROM embedded fallback), rom.rs:72-79 (from_slice length check only)"
notes: "Optional. Core ships with a free boot ROM embedded at compile time. Real BIOS provides original encrypted cart loader. No CRC/hash validation on load, only size == 512."

11
emulators/jumpnbump.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: Jump 'n Bump
type: game
source: "https://github.com/libretro/jumpnbump-libretro"
cores: [jumpnbump]
systems: []
files: []
notes: >
Libretro port of Jump 'n Bump, a multiplayer bunny-stomping platformer
originally by Brainchild Design (1998). Released as freeware.
Game data (sprites, levels, sounds) is compiled into the binary.
No content file, BIOS, or system directory files required.

11
emulators/mrboom.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: Mr.Boom
type: game
source: "https://github.com/libretro/mrboom-libretro"
cores: [mrboom]
systems: []
files: []
notes: >
Bomberman clone supporting up to 8 players. Ported to libretro from
the original x86 assembly game by Remdy Software.
All game assets are compiled into the core binary.
No content file, BIOS, or system directory files required.

39
emulators/oberon.yml Normal file
View File

@@ -0,0 +1,39 @@
emulator: Oberon
type: libretro
source: "https://github.com/libretro/oberon-risc-emu"
cores:
- oberon
systems: [oberon]
# Project Oberon RISC emulator by Peter De Wachter.
# Emulates the Oberon RISC processor designed by Niklaus Wirth.
# The bootloader (512 words) is compiled into the binary from risc-boot.inc,
# loaded into ROM at 0xFFFFF800 on startup (risc.c:75-77, risc_new).
#
# Content: .dsk disk images containing the full Oberon operating system.
# The disk image is loaded via retro_load_game(game->path) and attached
# as SPI disk (Libretro/libretro.c:209-214). No files are read from
# the RetroArch system directory.
#
# Reference disk images ship in the repo under DiskImage/:
# Oberon-2020-08-18.dsk (990208 bytes, latest)
# Oberon-2019-01-21.dsk (988160 bytes)
# Oberon-2016-08-02.dsk (989184 bytes)
# Oberon-2016-04-18.dsk (989184 bytes)
# These are game content, not system files.
files: []
notes:
architecture: >
Custom 32-bit RISC CPU (25 MHz emulated) with 1 MB RAM (expandable to 32 MB).
Monochrome 1-bit framebuffer. Keyboard input via PS/2 scancodes.
SPI bus for SD card (disk image) access. Serial port for PCLink file transfer.
boot_process: >
CPU starts execution at ROM address 0xFFFFF800. The embedded bootloader
reads the boot sector from the SPI disk and loads the Oberon inner core
(modules Kernel, FileDir, Files, Modules) into RAM, then jumps to it.
content_format: >
Disk images (.dsk) are raw sector images read via 512-byte SPI commands.
The core detects filesystem-only images (magic 0x9B1EA38D at sector 0)
and adjusts the sector offset accordingly (disk.c:57-58).

10
emulators/pascal_pong.yml Normal file
View File

@@ -0,0 +1,10 @@
emulator: Pascal Pong
type: game
source: "https://github.com/libretro/libretro-pong"
cores: [pascal_pong]
systems: []
files: []
notes: >
Pong clone written in Pascal as a libretro core demonstration.
Self-contained with all rendering done programmatically.
No content file, BIOS, or system directory files required.

11
emulators/pocketcdg.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: PocketCDG
type: utility
source: "https://github.com/libretro/libretro-pocketcdg"
cores: [pocketcdg]
systems: []
files: []
notes: >
CD+G (CD+Graphics) karaoke player for libretro. Renders the subcode
graphics channel from .cdg files synchronized with audio.
Loads .cdg content files directly.
No BIOS, firmware, or system directory files required.

View File

@@ -0,0 +1,11 @@
emulator: Super Bros War
type: game
source: "https://github.com/libretro/superbroswar-libretro"
cores: [superbroswar]
systems: []
files: []
notes: >
Libretro port of Super Mario War, a fan-made multiplayer battle game
where players stomp each other in Mario-style arenas.
Game data (maps, sprites, sounds) ships with the core repository.
No BIOS, firmware, or system directory files required.

View File

@@ -0,0 +1,11 @@
emulator: Syobon Action
type: game
source: "https://github.com/libretro/syobonaction-libretro"
cores: [syobonaction]
systems: []
files: []
notes: >
Libretro port of Syobon Action (Cat Mario), a parody platformer known
for deceptive traps and unfair level design by z_gundam_tanosii.
Game data (maps, sprites, sounds) ships with the core repository.
No BIOS, firmware, or system directory files required.

View File

@@ -0,0 +1,11 @@
emulator: TamaLIBretro
type: game
source: "https://github.com/libretro/tamern-libretro"
cores: [tamalibretro]
systems: []
files: []
notes: >
Tamagotchi P1 virtual pet simulator for libretro based on TamaLIB.
Emulates the Bandai Tamagotchi P1 hardware (E0C6S46 CPU).
The original Tamagotchi ROM is compiled into the binary.
No content file, BIOS, or system directory files required.

15
emulators/test.yml Normal file
View File

@@ -0,0 +1,15 @@
emulator: test
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- test
systems: []
notes: |
Basic test core from libretro-samples. Minimal software-rendered core
used for sanity-checking the libretro frontend loop (frame timing, input
polling, audio sample generation).
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: test_netplay
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- test_netplay
systems: []
notes: |
Netplay test core from libretro-samples. Designed to validate the libretro
netplay subsystem: deterministic frame stepping, input synchronization,
savestate serialization for rollback. Renders a simple interactive scene
where two players can verify sync.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: testaudio_callback
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testaudio_callback
systems: []
notes: |
Audio callback test core from libretro-samples. Tests the
RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK path where audio runs on a
separate thread managed by the frontend. Generates a simple tone
to validate callback-driven audio output.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: testaudio_no_callback
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testaudio_no_callback
systems: []
notes: |
Audio no-callback test core from libretro-samples. Tests the standard
synchronous audio path using retro_audio_sample/retro_audio_sample_batch
(no threaded callback). Generates a simple tone to validate the default
audio output mode.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: testaudio_playback_wav
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testaudio_playback_wav
systems: []
notes: |
Audio WAV playback test core from libretro-samples. Loads a .wav file
as content and plays it back through the libretro audio interface. Tests
audio sample rate conversion, buffer management, and content loading for
non-ROM file types.
No system files, BIOS, or firmware required. Not an emulator.
files: []

15
emulators/testgl.yml Normal file
View File

@@ -0,0 +1,15 @@
emulator: testgl
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testgl
systems: []
notes: |
OpenGL test core from libretro-samples. Validates the hardware-accelerated
OpenGL rendering path in the frontend. Renders a spinning triangle or cube
using GL calls through the libretro hw_render interface.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: testgl_compute_shaders
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testgl_compute_shaders
systems: []
notes: |
OpenGL compute shader test core from libretro-samples. Validates compute
shader support through the libretro hw_render interface. Runs a compute
shader kernel and renders the output, testing GL 4.3+ / GLES 3.1+
capability in the frontend.
No system files, BIOS, or firmware required. Not an emulator.
files: []

16
emulators/testgl_ff.yml Normal file
View File

@@ -0,0 +1,16 @@
emulator: testgl_ff
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testgl_ff
systems: []
notes: |
OpenGL fixed-function test core from libretro-samples. Similar to testgl
but uses the legacy OpenGL fixed-function pipeline (glBegin/glEnd, matrix
stack) instead of shaders. Tests frontend compatibility with older GL code
paths.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: testinput_buttontest
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testinput_buttontest
systems: []
notes: |
Input button test core from libretro-samples. Displays a visual
representation of all libretro input bindings (joypad buttons, analog
sticks, triggers) and highlights them in real time as they are pressed.
Used to debug controller mapping and input driver issues.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: testretroluxury
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testretroluxury
systems: []
notes: |
RetroLuxury test core from libretro-samples. Demonstrates the rluxury
(RetroLuxury) middleware layer for libretro, which provides a simplified
game development framework on top of the core API. Used as a reference
implementation for the middleware.
No system files, BIOS, or firmware required. Not an emulator.
files: []

15
emulators/testsw.yml Normal file
View File

@@ -0,0 +1,15 @@
emulator: testsw
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testsw
systems: []
notes: |
Software rendering test core from libretro-samples. Validates the basic
software framebuffer path (RETRO_HW_FRAME_BUFFER_VALID). Writes pixel
data directly to the framebuffer without any hardware acceleration.
No system files, BIOS, or firmware required. Not an emulator.
files: []

15
emulators/testsw_vram.yml Normal file
View File

@@ -0,0 +1,15 @@
emulator: testsw_vram
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testsw_vram
systems: []
notes: |
Software VRAM test core from libretro-samples. Tests the software rendering
path with VRAM access patterns, validating how the frontend handles direct
video memory writes and buffer management.
No system files, BIOS, or firmware required. Not an emulator.
files: []

16
emulators/testvulkan.yml Normal file
View File

@@ -0,0 +1,16 @@
emulator: testvulkan
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testvulkan
systems: []
notes: |
Vulkan test core from libretro-samples. Validates the Vulkan hardware
rendering path in the frontend via the libretro hw_render_interface_vulkan
API. Renders a basic scene using Vulkan command buffers and swapchain
integration.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,16 @@
emulator: testvulkan_async_compute
type: test
source: "https://github.com/libretro/libretro-samples"
cores:
- testvulkan_async_compute
systems: []
notes: |
Vulkan async compute test core from libretro-samples. Extends testvulkan
to exercise async compute queue support in the Vulkan rendering path.
Tests concurrent graphics and compute workloads through the libretro
hw_render_interface_vulkan API.
No system files, BIOS, or firmware required. Not an emulator.
files: []

View File

@@ -0,0 +1,11 @@
emulator: The Powder Toy
type: game
source: "https://github.com/libretro/ThePowderToy"
cores: [thepowdertoy]
systems: []
files: []
notes: >
Libretro port of The Powder Toy, a falling-sand physics simulation game.
Simulate various materials (powder, liquid, gas, explosive, electronic)
interacting with each other. Can load .cps save files as content.
No BIOS, firmware, or system directory files required.

11
emulators/vaporspec.yml Normal file
View File

@@ -0,0 +1,11 @@
emulator: VaporSpec
type: game
source: "https://github.com/libretro/libretro-vaporspec"
cores: [vaporspec]
systems: []
files: []
notes: >
Fantasy console for libretro inspired by retro hardware aesthetics.
Provides a virtual machine with fixed specs (256x192 display, 4-channel
audio) for running homebrew .vaporbin cartridge files.
No BIOS, firmware, or system directory files required.

16
emulators/vidtest.yml Normal file
View File

@@ -0,0 +1,16 @@
emulator: vidtest
type: test
source: "https://github.com/libretro/RetroArch"
cores:
- vidtest
systems: []
notes: |
Video test core built into RetroArch (not from libretro-samples). Tests
video driver capabilities: pixel format negotiation, resolution switching,
aspect ratio handling, and frame pacing. Renders test patterns for visual
validation of the video output chain.
No system files, BIOS, or firmware required. Not an emulator.
files: []