diff --git a/emulators/dosbox_pure.yml b/emulators/dosbox_pure.yml index 63453181f..1311b5e33 100644 --- a/emulators/dosbox_pure.yml +++ b/emulators/dosbox_pure.yml @@ -5,13 +5,13 @@ source: "https://github.com/libretro/dosbox-pure" upstream: "https://codeberg.org/schelling/dosbox-pure" logo: "https://raw.githubusercontent.com/schellingb/dosbox-pure/main/images/logo.png" profiled_date: "2026-03-23" -source_commit: "cdaea10ce8cac231bc341ca05d4c5e4e5fe0fbd5" -upstream_commit: "cdaea10ce8cac231bc341ca05d4c5e4e5fe0fbd5" -core_version: "1.0-preview7" +source_commit: "e39497e7c2a32c67c26e6598dd14f6d58c384bfd" +upstream_commit: "519226d15dea41c146048ae43e40bac772b923c4" +core_version: "1.0-preview8" version_basis: kind: tag repo: upstream - tag: "1.0-preview7" + tag: "1.0-preview8" distance: 0 display_name: "DOS (DOSBox-Pure)" cores: [dosbox_pure] @@ -23,7 +23,7 @@ notes: | ROM scanning (both modes): Recursive scan of system directory for *_CONTROL.ROM and *.SF2/*.SF3. - ref: dosbox_pure_libretro.cpp:1399-1410 + ref: dosbox_pure_libretro.cpp:1387-1404 MT-32 requires matched pair: *_CONTROL.ROM + *_PCM.ROM (PCM name derived from CONTROL name by replacing CONTROL with PCM, preserving case). ref: src/gui/midi_mt32.h:189-199 @@ -32,9 +32,10 @@ notes: | ref: src/gui/midi_mt32.h:160-166 Files can also be on mounted C: drive (DOSBOX.SF2, MT32_CONTROL.ROM, ROM1.BIN). - ref: dosbox_pure_libretro.cpp:2806-2813 - Cache file DOSBoxPureMidiCache.txt written when scan >2s. - ref: dosbox_pure_libretro.cpp:1449-1464 + ref: dosbox_pure_libretro.cpp:2804-2811 + Cache file DOSBoxPureMidiCache.txt written when scan >2s (libretro build + only). + ref: dosbox_pure_libretro.cpp:1417-1440,1445-1464 Sound Canvas: the scan also lists every file whose name ends in ROM1.BIN, WAVEROM1.BIN excepted, as "Sound Canvas SC-55". Selected, the Nuked-SC55 @@ -44,7 +45,7 @@ notes: | of ROM1 selects the model, SC-55mkII/SC-55st, SC-55/SC-155, CM-300/SCC-1, JV-880 or SCB-55, and the sizes the other ROMs must have. The driver does not open without ROM1 and ROM2. - ref: dosbox_pure_libretro.cpp:1405, src/gui/midi_sc55.h:38-47, + ref: dosbox_pure_libretro.cpp:1399, src/gui/midi_sc55.h:38-47, src/gui/midi_sc55.h:71-95, src/gui/midi_sc55.h:97-134 Bundled MUNT (header-only mt32emu.h) for MT-32 emulation. @@ -54,8 +55,10 @@ notes: | TinySoundFont (tsf.h) for SF2/SF3 playback. No firmware entries in .info file, all MIDI files optional. - DBP_STANDALONE build mode exists (same MIDI logic, different I/O layer). - ref: dosbox_pure_libretro.cpp:81,1588,2302 + DBP_STANDALONE build mode exists with the same scan and MIDI drivers. Its + MIDI option offers the system MIDI driver in place of the frontend one and + no scan cache. + ref: dosbox_pure_libretro.cpp:81,1587,2137-2145,2306 files: # -- MT-32 Control ROMs (64 KB) -- @@ -211,7 +214,7 @@ files: aliases: ["GeneralUser-GS.sf2"] required: false hle_fallback: true - source_ref: "source dosbox_pure_libretro.cpp:1405 (scan classifies .SF* as a SoundFont), source dosbox_pure_libretro.cpp:2495-2499 (path taken from the system directory), source dosbox_pure_libretro.cpp:2806-2813 (auto-detected on the mounted C: drive)" + source_ref: "source dosbox_pure_libretro.cpp:1399 (scan classifies .SF* as a SoundFont), source dosbox_pure_libretro.cpp:2493-2497 (path taken from the system directory), source dosbox_pure_libretro.cpp:2804-2811 (auto-detected on the mounted C: drive)" note: > Any .SF2 or .SF3 file in the system directory works. The core lists all found SoundFonts in the MIDI config dropdown. DOSBOX.SF2 is the conventional @@ -228,7 +231,7 @@ files: required: false size: 32768 validation: [size] - source_ref: "source dosbox_pure_libretro.cpp:1405, source src/gui/midi_sc55.h:71-75, source src/gui/midi_sc55.h:97-101" + source_ref: "source dosbox_pure_libretro.cpp:1399, source src/gui/midi_sc55.h:71-75, source src/gui/midi_sc55.h:97-101" note: >- Any name ending in ROM1.BIN anywhere under the system directory is listed. Byte 67 selects the emulated model, 0x12 for SC-55mkII/SC-55st. @@ -278,7 +281,7 @@ files: required: false size: 32768 validation: [size] - source_ref: "source dosbox_pure_libretro.cpp:1405, source src/gui/midi_sc55.h:71-75, source src/gui/midi_sc55.h:97-101, source src/gui/midi_sc55.h:117-120" + source_ref: "source dosbox_pure_libretro.cpp:1399, source src/gui/midi_sc55.h:71-75, source src/gui/midi_sc55.h:97-101, source src/gui/midi_sc55.h:117-120" note: >- Byte 67 is 0x50, the SC-55/SC-155 branch. The driver builds each companion name from the ROM1.BIN name the user picks: the text before diff --git a/emulators/droidarcadia.yml b/emulators/droidarcadia.yml index d2e2202bd..f9b399657 100644 --- a/emulators/droidarcadia.yml +++ b/emulators/droidarcadia.yml @@ -8,11 +8,11 @@ version_source: pattern: 'Download DroidArcadia ([0-9.]+) for Android' author: "James Jacobs (Amigan Software)" profiled_date: "2026-10-24" -core_version: "4.75" +core_version: "4.76" version_basis: kind: package url: "https://amigan.1emu.net/releases/" - artifact: "DroidArcadia-src.rar, release 4.75 on the author's releases page" + artifact: "DroidArcadia-src.rar, release 4.76 on the author's releases page" display_name: "Emerson Arcadia 2001 / Interton VC 4000 (DroidArcadia)" cores: - droidarcadia @@ -30,8 +30,8 @@ notes: | by the manifest under MIME type application/octet-stream or application/zip, a zip yielding its first member only, and the read stops at 32768 bytes. This reading is taken from the author's own source archive DroidArcadia-src.rar - 4.75, md5 831a22d93781e22b07e0995a0688d0a1, and confirmed against the - published DroidArcadia.apk, md5 9f6047977a7b2d0f91e51f886032f236, signed + 4.76, md5 05c7fa854e4f37ce7d16e60b41dea4ea, and confirmed against the + published DroidArcadia.apk, md5 89dbf79f04a9b0904eff06fc57eef3a6, signed by the Amigan Software key with certificate sha256 B4904B06F8BB0832BB90472F1655E776C4A859CEB72753C51CDDB5DD360086A5. ref: app/src/main/cpp/da.h:3-5, app/src/main/AndroidManifest.xml:21-37, diff --git a/emulators/groovymame.yml b/emulators/groovymame.yml index 5d8f8ae23..1b849ea4b 100644 --- a/emulators/groovymame.yml +++ b/emulators/groovymame.yml @@ -129,7 +129,7 @@ systems: notes: | MAME fork adding Switchres 2.2.2 for CRT modeline generation, frame delay and low latency vsync. Branch groovymame0289, BARE_BUILD_VERSION 0.289 - (makefile:1513). TARGET := mame with no SUBTARGET override (makefile:274-282), + (makefile:1513). TARGET := mame with no SUBTARGET override (makefile:273-284), so the build carries the full machine set. src/mame and src/devices are byte identical to mamedev/mame tag mame0289, diff --git a/emulators/mesence.yml b/emulators/mesence.yml index e0b49c6d4..371f0f20f 100644 --- a/emulators/mesence.yml +++ b/emulators/mesence.yml @@ -8,7 +8,7 @@ upstream: "https://github.com/SourMesen/Mesen2" profiled_date: "2026-09-17" source_commit: standalone: "4b8a196e299b3de297b204fd1208d2981562c89b" - libretro: "4c4e069f16a8ad6ed79e046046c56d51558c7daf" + libretro: "a449fdc19580b86edcfc2a4c84eeb5e99462225b" upstream_commit: "b9fa69ddc6d0a331fb103fdb5eef6904305703c2" core_version: standalone: "2.2.1" @@ -59,13 +59,13 @@ notes: | af2342818ca81a93b346146802047760400fc7b1 and does not touch Core/Shared/FirmwareHelper.h, so both builds read the same names with the same size checks. The buildbot publishes it as mesen2_libretro, and the port - announces library_version 2.0.0 (Libretro/libretro.cpp:2803) while the + announces library_version 2.0.0 (Libretro/libretro.cpp:3011) while the compiled core reports 2.2.1 (libretro tree, Core/Shared/EmuSettings.cpp:162-169). Firmware folder. Standalone reads /Firmware/ (Utilities/FolderUtilities.cpp:81-91). The libretro port sets the home folder to the frontend system directory and overrides the firmware folder with that same directory - (Libretro/libretro.cpp:2253-2256), so every firmware sits at the system + (Libretro/libretro.cpp:2462-2465), so every firmware sits at the system directory root. Satellaview streams and MesenNesDB.txt are read relative to the home folder in both builds, which puts them under system/Satellaview/ and system/MesenNesDB.txt for libretro. @@ -89,14 +89,14 @@ notes: | (Core/Gameboy/GbBootRom.h:8,49,99), and the external files override them. Super Game Boy mode falls back to the plain GB core when the SNES-side ROM is missing (Core/SNES/BaseCartridge.cpp:698-716). GameboyConfig - keeps UseSgb2 at true and no core option changes it (libretro tree, - Core/Shared/SettingTypes.h:433), so the libretro build only ever asks + keeps UseSgb2 at true (Core/Shared/SettingTypes.h:455, line 433 in the + libretro tree) and no core option changes it, so the libretro build only ever asks for SGB2.sfc and sgb2_boot.bin. SGB1.sfc and sgb_boot.bin are standalone reads. The libretro port also offers a "Super Game Boy" subsystem taking - a GB ROM plus an SNES-side ROM (Libretro/libretro.cpp:1041-1052): the + a GB ROM plus an SNES-side ROM (Libretro/libretro.cpp:1023-1034): the second entry is copied into the system directory as SGB1.sfc or SGB2.sfc by size for the duration of the load, then removed or restored - (Libretro/libretro.cpp:2627-2677,2692-2761). + (Libretro/libretro.cpp:2835-2885,2900-2969). WonderSwan boot ROMs are read only when WsConfig.UseBootRom is on (Core/WS/WsConsole.cpp:145-150). The libretro port never sets it, so @@ -107,12 +107,12 @@ notes: | from syscard3.pce, syscard3.bin, syscard.pce or syscard.bin when the canonical file is absent or not 256 KB: a 0x40200 or 0x60200 source is read past its 512-byte header, only the first 256 KB are written, and the - stub is removed after the load (Libretro/libretro.cpp:108-196,2347-2358,2380-2384). + stub is removed after the load (Libretro/libretro.cpp:108-196,2556-2567,2589-2593). Then FirmwareHelper reads the canonical name or syscard3.pce at exactly 256 KB, in both builds. NES game database. The libretro port embeds a 6213-line MesenDB.txt - (Libretro/libretro.cpp:85-86,592-594) and then reads MesenNesDB.txt from + (Libretro/libretro.cpp:85-86,574-576) and then reads MesenNesDB.txt from the home folder on the first lookup (Core/NES/GameDatabase.cpp:92-103), merging its 10668 entries over the embedded ones. Standalone deploys the file from the application's Dependencies.zip. Five Satellaview stream @@ -125,13 +125,13 @@ notes: | MesenPalette.pal is a libretro read: the mesen_palette core option value Custom loads it from the home folder, 192 or 1536 bytes - (Libretro/libretro.cpp:1178-1204,1304-1306). + (Libretro/libretro.cpp:1160-1186,1490-1492). HdPacks are per-game texture/audio replacements under /HdPacks/ (system/HdPacks/ for libretro), game content rather than system files. The libretro port lists nes|fds|unf|unif|sfc|smc|gb|gbc|gba|pce|sgx|cue| - sms|gg|ws|wsc as valid extensions (Libretro/libretro.cpp:2838-2840). The + sms|gg|ws|wsc as valid extensions (Libretro/libretro.cpp:3046-3048). The load path itself dispatches on the console extension tables, so .bs, .st, .col, .sg, .pc2 and .studybox content loads when the frontend passes it. @@ -550,7 +550,7 @@ files: size: 548608 sha256: "7eee6516f351ccc7db286587917bec415a1d8042ff5ef87c279f38200a3418dd" note: "NES game database for mapper and input detection, read from the home folder root on the first lookup. The libretro build starts from a 6213-line embedded copy and merges this file over it when present. Nothing deploys it." - source_ref: "source Core/NES/GameDatabase.cpp:92-103, source UI/Utilities/DependencyHelper.cs:14-67, source Libretro/libretro.cpp:85-86, 592-594" + source_ref: "source Core/NES/GameDatabase.cpp:92-103, source UI/Utilities/DependencyHelper.cs:14-67, source Libretro/libretro.cpp:85-86, 574-576" - name: "MesenNesDB.txt" standalone_path: "MesenNesDB.txt" @@ -562,7 +562,7 @@ files: size: 548608 sha256: "7eee6516f351ccc7db286587917bec415a1d8042ff5ef87c279f38200a3418dd" note: "NES game database for mapper and input detection. The application extracts it from its embedded Dependencies.zip (UI/Dependencies) into the home folder at startup." - source_ref: "source Core/NES/GameDatabase.cpp:92-103, source UI/Utilities/DependencyHelper.cs:14-67, source Libretro/libretro.cpp:85-86, 592-594" + source_ref: "source Core/NES/GameDatabase.cpp:92-103, source UI/Utilities/DependencyHelper.cs:14-67, source Libretro/libretro.cpp:85-86, 574-576" - name: "MesenPalette.pal" path: "MesenPalette.pal" @@ -572,7 +572,7 @@ files: size: [192, 1536] validation: [size] note: "NES colour palette read from the home folder when the mesen_palette core option is Custom: 64 RGB triplets, or 512 covering the emphasis combinations. Any other size leaves the default palette in place." - source_ref: "source Libretro/libretro.cpp:1178-1204, source Libretro/libretro.cpp:1304-1306" + source_ref: "source Libretro/libretro.cpp:1160-1186, source Libretro/libretro.cpp:1490-1492" # ------------------------------------------------------- # PC Engine @@ -587,7 +587,7 @@ files: validation: [size] sha256: "e11527b3b96ce112a037138988ca72fd117a6b0779c2480d9e03eaebece3d9ce" note: "Super CD-ROM System card, mandatory for CD games. Load fails without it. Both builds read this name or syscard3.pce at exactly 256 KB. The libretro build first builds the canonical file from syscard3.pce, syscard3.bin, syscard.pce or syscard.bin, skipping a 512-byte header, for the duration of a .cue load." - source_ref: "source Core/PCE/PceConsole.cpp:61-63, 151-164, source Core/Shared/FirmwareHelper.h:330-349, source Libretro/libretro.cpp:108-183, 2347-2358, source UI/Interop/FirmwareTypeExtensions.cs:61-62" + source_ref: "source Core/PCE/PceConsole.cpp:61-63, 151-164, source Core/Shared/FirmwareHelper.h:330-349, source Libretro/libretro.cpp:108-183, 2556-2567, source UI/Interop/FirmwareTypeExtensions.cs:61-62" - name: "[BIOS] Games Express CD Card (Japan).pce" path: "[BIOS] Games Express CD Card (Japan).pce" @@ -810,4 +810,4 @@ platform_details: ui_hash_check: "sha256, advisory, standalone UI only (UI/Interop/FirmwareTypeExtensions.cs)" satellaview_streams: "Satellaview/BSX-.bin" libretro_subsystem: "Super Game Boy: gb|gbc|gbx + sfc|smc" - source_ref: "source Utilities/FolderUtilities.cpp:81-91, Libretro/libretro.cpp:2253-2256, source Core/Shared/FirmwareHelper.h" + source_ref: "source Utilities/FolderUtilities.cpp:81-91, Libretro/libretro.cpp:2462-2465, source Core/Shared/FirmwareHelper.h" diff --git a/emulators/supermodel.yml b/emulators/supermodel.yml index 7c5976c86..a4d6cee41 100644 --- a/emulators/supermodel.yml +++ b/emulators/supermodel.yml @@ -7,16 +7,16 @@ source: upstream: "https://github.com/trzy/Supermodel" profiled_date: "2026-09-17" source_commit: - standalone: "14815455dc28fca2c8662fb1ed99d447ecf8f364" - libretro: "84bc106b45b279bf868a53b9232897c8dc10ca17" -upstream_commit: "14815455dc28fca2c8662fb1ed99d447ecf8f364" + standalone: "efbdc866fcddc9bff23da00b1722d17e52115567" + libretro: "20dfc573e005b0933b07a749db15a693d50db1dd" +upstream_commit: "efbdc866fcddc9bff23da00b1722d17e52115567" core_version: - standalone: "v0.3a-20261025-git-1481545" + standalone: "v0.4-20261108-git-efbdc86" libretro: "0.3a-WIP" version_basis: standalone: kind: tag - tag: "v0.3a-20261025-git-1481545" + tag: "v0.4-20261108-git-efbdc86" distance: 0 libretro: kind: file @@ -27,6 +27,8 @@ cores: - supermodel systems: - sega-model3 + - sega-model2 + - sega-model1 data_root: windows: @@ -46,7 +48,11 @@ notes: | Open-source Sega Model 3 arcade emulator by Bart Trzynadlowski (trzy) and contributors, under GPL-3.0. Emulates all three Model 3 steppings (1.0, 1.5, 2.0/2.1) including Real3D graphics, SCSP sound, DSB1/DSB2 MPEG music boards, - drive boards, and net board. Cross-platform (Windows, Linux, macOS). + drive boards, and net board. Cross-platform (Windows, Linux, macOS). The + standalone build also emulates Sega Model 1 and Sega Model 2 (steppings 2, + 2A, 2B and 2C). Games.xml declares their games as ROM sets like the Model 3 + ones, and no system file is read for either board. + ref: Src/GameLoader.cpp:274-335, Src/OSD/SDL/Main.cpp:2616-2626 The libretro core is Libretro-Supermodel, developed by sgiannop on top of the 2019 libretro attempt and now held under the libretro organisation on @@ -74,16 +80,16 @@ notes: | GUI saves its settings. NVRAM/.nv and Saves/.st are written by the emulator itself. ref: Src/OSD/Windows/FileSystemPath.cpp:28-51, Src/OSD/OSX/FileSystemPath.cpp:28-50, - Src/OSD/Unix/FileSystemPath.cpp:51-160, Src/OSD/SDL/Main.cpp:1407-1426, - Src/OSD/SDL/Main.cpp:1458, Src/OSD/SDL/Gui.cpp:1492, - Src/OSD/SDL/Main.cpp:2274 + Src/OSD/Unix/FileSystemPath.cpp:51-160, Src/OSD/SDL/Main.cpp:1467-1486, + Src/OSD/SDL/Main.cpp:1518, Src/OSD/SDL/Gui.cpp:1536, + Src/OSD/SDL/Main.cpp:2364 The standalone also emulates the Real3D Pro-1000. Games.xml declares it as the set pro1000 with platform Real3D Pro-1000, and its firmware (p1_p4.bin, p2.bin) is a ROM set loaded like any game, not a system file. Programs for the Pro-1000 reach the emulated board through wnaspi32.dll, which the project builds for the folder of those programs and Supermodel never opens. - ref: Config/Games.xml:1404-1428, Src/GameLoader.cpp:252-296, + ref: Config/Games.xml:10030-10054, Src/GameLoader.cpp:274-335, Src/OSD/Windows/wnaspi32/wnaspi32.cpp:3-15 Libretro: retro_init joins "supermodel" to the frontend system directory and @@ -96,7 +102,7 @@ notes: | afterwards. Music.xml has no embedded copy. ref: Src/OSD/libretro/libretro.cpp:855-863, Src/OSD/libretro/libretro.cpp:889-894, Src/OSD/libretro/libretro.cpp:1113, Src/OSD/libretro/LibretroWrapper.cpp:166-206, - Src/OSD/libretro/LibretroWrapper.cpp:208-228, Makefile:640-653, Makefile:659-661 + Src/OSD/libretro/LibretroWrapper.cpp:208-228, Makefile:699-712, Makefile:718-720 Libretro NVRAM is the frontend .srm through the memory API. On the first frame a .nv written by the standalone build is imported from the save directory @@ -122,12 +128,12 @@ files: mode: standalone required: true bundled: true - size: 152634 - sha1: "bb937d4841ae039d9d5f16b33bf5ba0382e41081" - md5: "41d8329d3b798f3ec2a9b29d9ad77e97" + size: 498173 + sha1: "0c7ee725d44f5fbc67700f86fcff7961cefaad60" + md5: "38cf442c8df6e8e24f8cf6af36eded54" description: "ROM set definitions" note: "Parsed at startup into the game database. Every ROM region, file name and CRC32 the loader matches against comes from here, so an unreadable file leaves no set to resolve and the launch returns before the emulator is built. The path is a config key, so -game-xml-file moves it. Nothing about the file is verified beyond parsing. The hash is that of the copy the pinned revision ships." - source_ref: "Src/OSD/SDL/Main.cpp:122, 1519, 1996, 2360-2370, Src/GameLoader.cpp:601-611, 1066-1069" + source_ref: "Src/OSD/SDL/Main.cpp:125, 1579, 2071, 2450-2460, Src/GameLoader.cpp:658-668, 1166-1169" - name: Games.xml path: "supermodel/Games.xml" @@ -144,7 +150,7 @@ files: - "29fd5bc40cea222e040c1a1cfd60ea2e" description: "ROM set definitions, libretro copy" note: "Read through the VFS from {system}/supermodel/Games.xml, or Config/Games.xml under it, and parsed from memory. When neither path holds a file the core writes its embedded copy to supermodel/Games.xml at startup, and when the read still yields nothing the compiled-in bytes are parsed instead, so the core identifies every set without a file supplied, but a file that is present takes precedence. The second hash is the embedded array, which predates the indentation cleanup of the repository copy by one tab." - source_ref: "Src/OSD/libretro/LibretroWrapper.cpp:187-206, Src/OSD/libretro/LibretroWrapper.cpp:221-222, Src/OSD/libretro/LibretroWrapper.cpp:822, Src/OSD/libretro/LibretroWrapper.cpp:834-859, Src/GameLoader.cpp:1019-1030, Makefile:651-653" + source_ref: "Src/OSD/libretro/LibretroWrapper.cpp:187-206, Src/OSD/libretro/LibretroWrapper.cpp:221-222, Src/OSD/libretro/LibretroWrapper.cpp:822, Src/OSD/libretro/LibretroWrapper.cpp:834-859, Src/GameLoader.cpp:1019-1030, Makefile:710-712" - name: Supermodel.ini path: "supermodel/Supermodel.ini" @@ -157,7 +163,7 @@ files: md5: "06533608174992f6ea180ae190011778" description: "Configuration override" note: "Read from {system}/supermodel/Supermodel.ini, or Config/Supermodel.ini under it, when present, and a file that fails to parse aborts the load. Core options are applied over it afterwards, so it only reaches keys the options do not set and per-game sections. Extracted from the embedded copy when absent." - source_ref: "Src/OSD/libretro/LibretroWrapper.cpp:187-206, Src/OSD/libretro/LibretroWrapper.cpp:219-220, Src/OSD/libretro/LibretroWrapper.cpp:812-817, Src/OSD/libretro/LibretroWrapper.cpp:858, Src/OSD/libretro/LibretroWrapper.cpp:865-866, Makefile:659-661" + source_ref: "Src/OSD/libretro/LibretroWrapper.cpp:187-206, Src/OSD/libretro/LibretroWrapper.cpp:219-220, Src/OSD/libretro/LibretroWrapper.cpp:812-817, Src/OSD/libretro/LibretroWrapper.cpp:858, Src/OSD/libretro/LibretroWrapper.cpp:865-866, Makefile:718-720" - name: p1crosshair.bmp standalone_path: "Assets/p1crosshair.bmp" @@ -168,8 +174,8 @@ files: required: true bundled: true description: "Player 1 light gun crosshair texture" - note: "Both bitmaps are read on every launch whatever CrosshairStyle holds, since the load runs before the style decides anything, and a null surface aborts startup ahead of the Model 3 object. 32 bit BMP with alpha, sides a multiple of 2. The libretro build opens the same two files from the Assets directory of the standalone layout, outside the frontend directories, but forces the vector style and never draws them, and its repository does not ship them." - source_ref: "Src/OSD/SDL/Crosshair.cpp:34-51, Src/OSD/SDL/Main.cpp:2415-2421, Assets/DIR.txt, Src/OSD/libretro/libretroCrosshair.cpp:36-60, Src/OSD/libretro/LibretroWrapper.cpp:465-471, Src/OSD/libretro/LibretroConfigProvider.h:361" + note: "Both bitmaps are read on every launch whatever CrosshairStyle holds, since the load runs before the style decides anything, and a null surface aborts startup ahead of the emulator object. 32 bit BMP with alpha, sides a multiple of 2. The libretro build opens the same two files from the Assets directory of the standalone layout, outside the frontend directories, but forces the vector style and never draws them, and its repository does not ship them." + source_ref: "Src/OSD/SDL/Crosshair.cpp:34-51, Src/OSD/SDL/Main.cpp:2505-2511, Assets/DIR.txt, Src/OSD/libretro/libretroCrosshair.cpp:36-60, Src/OSD/libretro/LibretroWrapper.cpp:465-471, Src/OSD/libretro/LibretroConfigProvider.h:361" - name: p2crosshair.bmp standalone_path: "Assets/p2crosshair.bmp" @@ -181,7 +187,7 @@ files: bundled: true description: "Player 2 light gun crosshair texture" note: "Read in the same call as the player 1 bitmap and equally fatal when it fails to load." - source_ref: "Src/OSD/SDL/Crosshair.cpp:35, 49-51, Src/OSD/SDL/Main.cpp:2415-2421, Src/OSD/libretro/libretroCrosshair.cpp:39, 55-58" + source_ref: "Src/OSD/SDL/Crosshair.cpp:35, 49-51, Src/OSD/SDL/Main.cpp:2505-2511, Src/OSD/libretro/libretroCrosshair.cpp:39, 55-58" - name: Music.xml not_bundled_on: [batocera, emudeck, recalbox] @@ -189,12 +195,12 @@ files: mode: standalone required: false bundled: true - size: 9224 - sha1: "b44ed959fe2948a03d81b98e67ca32f2b4c37e78" - md5: "ddb4e23db15dda67539eee24de23de4b" + size: 9229 + sha1: "5c86508cb337b604eecb9b881b4fc111d826f604" + md5: "6eeb3e30200e14aa28f958b8d34c2ded" description: "Custom MPEG music track map" note: "Consulted only for a game with a DSB1 or DSB2 board, and skipped when the file is absent. Maps an MPEG ROM offset to an MP3 the user supplies. The shipped file is a commented example, carried in Config of the release archives." - source_ref: "Src/OSD/SDL/Main.cpp:123, 962, Src/Sound/MPEG/MpegAudio.cpp:88-102" + source_ref: "Src/OSD/SDL/Main.cpp:126, 973, Src/Sound/MPEG/MpegAudio.cpp:89-103" - name: Music.xml path: "supermodel/Music.xml" @@ -208,7 +214,7 @@ files: source_ref: "Src/OSD/libretro/LibretroWrapper.cpp:223, Src/OSD/libretro/LibretroWrapper.cpp:494, Src/Sound/MPEG/MpegAudio.cpp:88-108" exclusion_note: > - The Sega Model 3 arcade hardware has no shared system BIOS. Each game board + The Sega Model 1, Model 2 and Model 3 arcade hardware has no shared system BIOS. Each game board contains its own program ROMs (CROM), video ROMs (VROM), sound program, sound samples, and optional DSB/drive board ROMs, all contained within per-game MAME-format ZIP archives. Supermodel loads all required data from these game diff --git a/emulators/tr2x.yml b/emulators/tr2x.yml index 93fb7238a..ee7d7fedf 100644 --- a/emulators/tr2x.yml +++ b/emulators/tr2x.yml @@ -4,14 +4,14 @@ type: standalone core_classification: game_engine source: "https://github.com/LostArtefacts/TRX" upstream: "https://github.com/LostArtefacts/TRX" -source_commit: "4d55f7d3130f9d04bdc1fefb85bf4d8fa93a22d3" +source_commit: "7d1f0e8cbad9e9c3d55248188184384aa6e0f5b5" upstream_commit: "3d39911a1b839c753b6efad236db67d9fb2b273e" -core_version: "trx-1.11.1-784-g4d55f7d" +core_version: "trx-1.12-25-g7d1f0e8" version_basis: kind: tag match: "trx-*" - tag: "trx-1.11.1" - distance: 784 + tag: "trx-1.12" + distance: 25 profiled_date: "2026-10-23" cores: [] systems: @@ -237,7 +237,7 @@ files: path: "games/tr2/fmv/logo.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:781" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:780" note: "Eidos legal screen." - name: "ANCIENT.AVI" @@ -245,7 +245,7 @@ files: path: "games/tr2/fmv/ancient.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:782" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:781" note: "Intro cutscene." - name: "MODERN.AVI" @@ -253,42 +253,42 @@ files: path: "games/tr2/fmv/modern.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:783" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:782" - name: "LANDING.AVI" aliases: [landing.rpl] path: "games/tr2/fmv/landing.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:784" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:783" - name: "MS.AVI" aliases: [ms.rpl] path: "games/tr2/fmv/ms.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:785" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:784" - name: "CRASH.AVI" aliases: [crash.rpl] path: "games/tr2/fmv/crash.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:786" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:785" - name: "JEEP.AVI" aliases: [jeep.rpl] path: "games/tr2/fmv/jeep.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:787" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:786" - name: "END.AVI" aliases: [end.rpl] path: "games/tr2/fmv/end.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:788" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:787" # Music tracks (retail CD audio, ripped as N.). # Enumerated by the ship tree in docs/trx/INSTALLING.md (TR2 uses the @@ -677,7 +677,7 @@ files: sha1: "9de9423b6f12875b8d02dd783d5c1547f15e36fc" md5: "b9045310d16b80638970978a9ce8489e" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:35, src/trx/game/game_flow/reader.c:198-219, src/trx/game/paths.c:203-212, tools/download_assets:71, tools/installer/TRX_Installer/InstallMappings.cs:35-40" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:35, src/trx/game/game_flow/reader.c:198-219, src/trx/game/paths.c:203-212, tools/download_assets:71, tools/installer/TRX_Installer/InstallMappings.cs:32-36" note: "Sample bank of the expansion. main_gm.sfx is tried first, each name in the expansion directory then in games/tr2." - name: "title.tr2" @@ -689,7 +689,7 @@ files: sha1: "b7dadcbaf38cefdc89a692e85b290caf6409b163" md5: "c5a329491190227bc09ec19317b45f56" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:16, src/trx/game/game_flow/reader.c:198-219, 903-909, src/trx/game/paths.c:123-132, tools/download_assets:71, tools/installer/TRX_Installer/InstallMappings.cs:35-40" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:16, src/trx/game/game_flow/reader.c:198-219, 903-909, src/trx/game/paths.c:123-132, tools/download_assets:71, tools/installer/TRX_Installer/InstallMappings.cs:32-36" note: "Title level of the expansion. title_gm.tr2 is tried first, each name in the expansion levels directory then in games/tr2/levels." - name: "level1.tr2" diff --git a/emulators/winuae.yml b/emulators/winuae.yml index 602266b95..4c6940090 100644 --- a/emulators/winuae.yml +++ b/emulators/winuae.yml @@ -2,9 +2,9 @@ emulator: WinUAE type: standalone core_classification: other source: "https://github.com/tonioni/WinUAE" -source_commit: "15110cf6606d1188800ea7ad86bf1cbd9c688741" +source_commit: "16c85313c39685d24cfb676b1f5d279e40923004" profiled_date: "2026-10-20" -core_version: "6.1.0 beta 19" +core_version: "6.1.0 beta 22" version_basis: kind: file path: "include/winuae_version.h" @@ -34,10 +34,10 @@ notes: | when no DetectedROMs list exists yet. Every file below 10000000 bytes whose extension is rom, bin, adf, key, a500, a600, a1200, a3000, a4000, cd32 or U followed by a digit is identified against the ROM table, whatever - the rest of its name (od-win32/win32.cpp:5385-5404, - od-win32/win32gui.cpp:1747-1772, od-win32/win32gui.cpp:1829-1876, - od-win32/win32gui.cpp:1974-2105). The guess step takes a scanned ROM whose - file name matches the configured one (rommgr.cpp:2428-2461). The Kickstart entries below are named after other + the rest of its name (od-win32/win32.cpp:5188-5207, + od-win32/win32gui.cpp:1915-1953, od-win32/win32gui.cpp:1994-2065, + rommgr.cpp:3025-3055). The guess step takes a scanned ROM whose + file name matches the configured one (rommgr.cpp:2429-2462). The Kickstart entries below are named after other profiles' names for the same dumps: the code opens none of those names. kickstart_ext_rom_file is opened as given, and a missing extended ROM only raises a notice (memory.cpp:1833-1849). The machine then starts on @@ -47,15 +47,17 @@ notes: | modules of the extended ROMs: cdstrap, cd.device and cdfs.library in the CD32 ROM, cdtv.device, cdfs.library and cdstrap in the CDTV ROM. The CD32 and CDTV Kickstarts carry none. The CD32 quickstart model and the base - CDTV model have no floppy drive (cfgfile.cpp:9394-9398, 9424-9425), and - both ask for the extended ROM (cfgfile.cpp:9409-9414, 9433-9442), so + CDTV model have no floppy drive (cfgfile.cpp:9345-9349, 9375-9376), and + both ask for the extended ROM (cfgfile.cpp:9360-9365, 9384-9393), so without it no CD is read or booted. CDTV and A600/A1200 internal devices are enabled with :ENABLED, which needs no ROM file. Cloanto encrypted ROMs are decoded with rom.key, searched in the configured key path, the ROM path, roms/, the data path, ../shared/rom/ and - next to the Kickstart file (rommgr.cpp:1459-1535). Without it an encrypted - ROM fails to load (rommgr.cpp:1724-1732). + next to the Kickstart file (rommgr.cpp:1460-1536). Without it an encrypted + ROM fails to load (rommgr.cpp:1725-1733). A rom.key met during the ROM + scan is added to the keyring and the scan starts again + (rommgr.cpp:3078-3102,3127-3136). files: - name: "kick.rom" @@ -76,7 +78,7 @@ files: crc32: "c4f0f55f" sha1: "891e9a547772fe0c6c19b610baf8bc4ea7fcb785" note: "KS ROM v1.3 (A500, A1000, A2000), 315093-02." - source_ref: "rommgr.cpp:150-151" + source_ref: "rommgr.cpp:151-152" - name: "amiga-os-204.rom" system: commodore-amiga @@ -86,7 +88,7 @@ files: crc32: "c3bdb240" sha1: "c5839f5cb98a7a8947065c3ed2f14f5f42e334a1" note: "KS ROM v2.04 (A500+)." - source_ref: "rommgr.cpp:158-159" + source_ref: "rommgr.cpp:159-160" - name: "amiga-os-310-a600.rom" system: commodore-amiga @@ -96,7 +98,7 @@ files: crc32: "fc24ae0d" sha1: "3b7f1493b27e212830f989f26ca76c02049f09ca" note: "KS ROM v3.1 r40.63 (A500, A600, A2000)." - source_ref: "rommgr.cpp:183-184" + source_ref: "rommgr.cpp:184-185" - name: "amiga-os-310-a1200.rom" system: commodore-amiga @@ -106,7 +108,7 @@ files: crc32: "1483a091" sha1: "e21545723fe8374e91342617604f1b3d703094f1" note: "KS ROM v3.1 r40.68 (A1200)." - source_ref: "rommgr.cpp:185-186" + source_ref: "rommgr.cpp:186-187" - name: "amiga-os-310-a4000.rom" system: commodore-amiga @@ -116,7 +118,7 @@ files: crc32: "d6bae334" sha1: "5fe04842d04a489720f0f4bb0e46948199406f49" note: "KS ROM v3.1 r40.68 (A4000)." - source_ref: "rommgr.cpp:195-196" + source_ref: "rommgr.cpp:196-197" - name: "amiga-os-310-cd32.rom" system: commodore-cd32 @@ -126,7 +128,7 @@ files: crc32: "1e62d4a5" sha1: "3525be8887f79b5929e017b42380a79edfee542d" note: "CD32 KS ROM v3.1 r40.60." - source_ref: "rommgr.cpp:323-324" + source_ref: "rommgr.cpp:324-325" - name: "amiga-ext-310-cd32.rom" system: commodore-cd32 @@ -135,7 +137,7 @@ files: crc32: "87746be2" sha1: "5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f" note: "CD32 extended ROM r40.60, passed as kickstart_ext_rom_file." - source_ref: "rommgr.cpp:325-326, memory.cpp:1833-1849" + source_ref: "rommgr.cpp:326-327, memory.cpp:1833-1849" - name: "amiga-ext-130-cdtv.rom" system: commodore-cdtv @@ -144,7 +146,7 @@ files: crc32: "42baa124" sha1: "7ba40ffa17e500ed9fed041f3424bd81d9c907be" note: "CDTV extended ROM v1.0, passed as kickstart_ext_rom_file with the 1.3 Kickstart." - source_ref: "rommgr.cpp:339-340, memory.cpp:1833-1849" + source_ref: "rommgr.cpp:340-341, memory.cpp:1833-1849" - name: "rom.key" found_by: name @@ -154,4 +156,4 @@ files: crc32: "869ae1b1" sha1: "801bbab32e3d37386dd1636d4f1d6fa7e21d5874" note: "Cloanto Amiga Forever ROM key. Read from the configured key path, the ROM path, roms/, the data path, ../shared/rom/ and next to the Kickstart file, needed only for encrypted ROMs." - source_ref: "rommgr.cpp:119-120, rommgr.cpp:1459-1535" + source_ref: "rommgr.cpp:120-121, rommgr.cpp:1460-1536" diff --git a/emulators/ymir.yml b/emulators/ymir.yml index 45d1b395b..27d85df6d 100644 --- a/emulators/ymir.yml +++ b/emulators/ymir.yml @@ -7,7 +7,7 @@ source: upstream: "https://github.com/ymir-emu/Ymir" profiled_date: "2026-10-21" source_commit: - standalone: "fe439e98abc555c243a8a197850c71777ff664f4" + standalone: "ff9353790c191752a4d3dc19b9056c666acaf70a" libretro: "8174cbbeea4070654841cdd4604361b3eee8fdd1" core_version: standalone: "0.4.2"