diff --git a/emulators/00_example.yml b/emulators/00_example.yml new file mode 100644 index 00000000..5a180782 --- /dev/null +++ b/emulators/00_example.yml @@ -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: [] diff --git a/emulators/2048.yml b/emulators/2048.yml new file mode 100644 index 00000000..fad51b8f --- /dev/null +++ b/emulators/2048.yml @@ -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. diff --git a/emulators/3dengine.yml b/emulators/3dengine.yml new file mode 100644 index 00000000..612331b0 --- /dev/null +++ b/emulators/3dengine.yml @@ -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. diff --git a/emulators/advanced_tests.yml b/emulators/advanced_tests.yml new file mode 100644 index 00000000..c9bb54a8 --- /dev/null +++ b/emulators/advanced_tests.yml @@ -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: [] diff --git a/emulators/anarch.yml b/emulators/anarch.yml new file mode 100644 index 00000000..d073c6e8 --- /dev/null +++ b/emulators/anarch.yml @@ -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. diff --git a/emulators/chailove.yml b/emulators/chailove.yml new file mode 100644 index 00000000..58d1cb9f --- /dev/null +++ b/emulators/chailove.yml @@ -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. diff --git a/emulators/craft.yml b/emulators/craft.yml new file mode 100644 index 00000000..e9a24b5f --- /dev/null +++ b/emulators/craft.yml @@ -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. diff --git a/emulators/dinothawr.yml b/emulators/dinothawr.yml new file mode 100644 index 00000000..53490c05 --- /dev/null +++ b/emulators/dinothawr.yml @@ -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. diff --git a/emulators/dolphin_launcher.yml b/emulators/dolphin_launcher.yml new file mode 100644 index 00000000..7929ed79 --- /dev/null +++ b/emulators/dolphin_launcher.yml @@ -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: [] diff --git a/emulators/gam4980.yml b/emulators/gam4980.yml new file mode 100644 index 00000000..cd451e67 --- /dev/null +++ b/emulators/gam4980.yml @@ -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. diff --git a/emulators/gme.yml b/emulators/gme.yml new file mode 100644 index 00000000..68548b39 --- /dev/null +++ b/emulators/gme.yml @@ -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. diff --git a/emulators/gong.yml b/emulators/gong.yml new file mode 100644 index 00000000..c6b4cfd7 --- /dev/null +++ b/emulators/gong.yml @@ -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. diff --git a/emulators/holani.yml b/emulators/holani.yml new file mode 100644 index 00000000..d8501ae7 --- /dev/null +++ b/emulators/holani.yml @@ -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." diff --git a/emulators/jumpnbump.yml b/emulators/jumpnbump.yml new file mode 100644 index 00000000..90dc9c7b --- /dev/null +++ b/emulators/jumpnbump.yml @@ -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. diff --git a/emulators/mrboom.yml b/emulators/mrboom.yml new file mode 100644 index 00000000..856d574a --- /dev/null +++ b/emulators/mrboom.yml @@ -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. diff --git a/emulators/oberon.yml b/emulators/oberon.yml new file mode 100644 index 00000000..8ba330e8 --- /dev/null +++ b/emulators/oberon.yml @@ -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). diff --git a/emulators/pascal_pong.yml b/emulators/pascal_pong.yml new file mode 100644 index 00000000..88f4243d --- /dev/null +++ b/emulators/pascal_pong.yml @@ -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. diff --git a/emulators/pocketcdg.yml b/emulators/pocketcdg.yml new file mode 100644 index 00000000..c3448dc6 --- /dev/null +++ b/emulators/pocketcdg.yml @@ -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. diff --git a/emulators/superbroswar.yml b/emulators/superbroswar.yml new file mode 100644 index 00000000..9846d671 --- /dev/null +++ b/emulators/superbroswar.yml @@ -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. diff --git a/emulators/syobonaction.yml b/emulators/syobonaction.yml new file mode 100644 index 00000000..4337add8 --- /dev/null +++ b/emulators/syobonaction.yml @@ -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. diff --git a/emulators/tamalibretro.yml b/emulators/tamalibretro.yml new file mode 100644 index 00000000..d082567e --- /dev/null +++ b/emulators/tamalibretro.yml @@ -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. diff --git a/emulators/test.yml b/emulators/test.yml new file mode 100644 index 00000000..0f81e20c --- /dev/null +++ b/emulators/test.yml @@ -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: [] diff --git a/emulators/test_netplay.yml b/emulators/test_netplay.yml new file mode 100644 index 00000000..66f48ff8 --- /dev/null +++ b/emulators/test_netplay.yml @@ -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: [] diff --git a/emulators/testaudio_callback.yml b/emulators/testaudio_callback.yml new file mode 100644 index 00000000..0a94a664 --- /dev/null +++ b/emulators/testaudio_callback.yml @@ -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: [] diff --git a/emulators/testaudio_no_callback.yml b/emulators/testaudio_no_callback.yml new file mode 100644 index 00000000..4f019e96 --- /dev/null +++ b/emulators/testaudio_no_callback.yml @@ -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: [] diff --git a/emulators/testaudio_playback_wav.yml b/emulators/testaudio_playback_wav.yml new file mode 100644 index 00000000..9475d1ad --- /dev/null +++ b/emulators/testaudio_playback_wav.yml @@ -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: [] diff --git a/emulators/testgl.yml b/emulators/testgl.yml new file mode 100644 index 00000000..ce2e779b --- /dev/null +++ b/emulators/testgl.yml @@ -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: [] diff --git a/emulators/testgl_compute_shaders.yml b/emulators/testgl_compute_shaders.yml new file mode 100644 index 00000000..40006459 --- /dev/null +++ b/emulators/testgl_compute_shaders.yml @@ -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: [] diff --git a/emulators/testgl_ff.yml b/emulators/testgl_ff.yml new file mode 100644 index 00000000..131607f5 --- /dev/null +++ b/emulators/testgl_ff.yml @@ -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: [] diff --git a/emulators/testinput_buttontest.yml b/emulators/testinput_buttontest.yml new file mode 100644 index 00000000..192418b8 --- /dev/null +++ b/emulators/testinput_buttontest.yml @@ -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: [] diff --git a/emulators/testretroluxury.yml b/emulators/testretroluxury.yml new file mode 100644 index 00000000..562e2d24 --- /dev/null +++ b/emulators/testretroluxury.yml @@ -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: [] diff --git a/emulators/testsw.yml b/emulators/testsw.yml new file mode 100644 index 00000000..775f6a52 --- /dev/null +++ b/emulators/testsw.yml @@ -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: [] diff --git a/emulators/testsw_vram.yml b/emulators/testsw_vram.yml new file mode 100644 index 00000000..1382ca18 --- /dev/null +++ b/emulators/testsw_vram.yml @@ -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: [] diff --git a/emulators/testvulkan.yml b/emulators/testvulkan.yml new file mode 100644 index 00000000..3c4fec46 --- /dev/null +++ b/emulators/testvulkan.yml @@ -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: [] diff --git a/emulators/testvulkan_async_compute.yml b/emulators/testvulkan_async_compute.yml new file mode 100644 index 00000000..ad5842e8 --- /dev/null +++ b/emulators/testvulkan_async_compute.yml @@ -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: [] diff --git a/emulators/thepowdertoy.yml b/emulators/thepowdertoy.yml new file mode 100644 index 00000000..24418213 --- /dev/null +++ b/emulators/thepowdertoy.yml @@ -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. diff --git a/emulators/vaporspec.yml b/emulators/vaporspec.yml new file mode 100644 index 00000000..b0748906 --- /dev/null +++ b/emulators/vaporspec.yml @@ -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. diff --git a/emulators/vidtest.yml b/emulators/vidtest.yml new file mode 100644 index 00000000..cb94a8f7 --- /dev/null +++ b/emulators/vidtest.yml @@ -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: []