diff --git a/emulators/armsx2.yml b/emulators/armsx2.yml index 36f7d70d0..f9134ab1c 100644 --- a/emulators/armsx2.yml +++ b/emulators/armsx2.yml @@ -5,14 +5,15 @@ bios_mode: agnostic source: "https://github.com/ARMSX2/ARMSX2" upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-10-26" -source_commit: "7f9144189c74edcf5a7ab3ba2aa2247635d24047" +source_commit: "fc4ab0b8b4f386617773cf1916e9bc6911dba59b" +prose_written_at: "fc4ab0b8b4f386617773cf1916e9bc6911dba59b" upstream_commit: "36907f4b70d149b05c2700acae687bedb720a7af" -core_version: "2.9-5-g7f91441" +core_version: "2.9.2-77-gfc4ab0b" version_basis: kind: tag match: "[0-9]*" - tag: "2.9" - distance: 5 + tag: "2.9.2" + distance: 77 display_name: "Sony - PlayStation 2 (ARMSX2)" cores: - armsx2 @@ -27,22 +28,22 @@ resources_directory: "resources/" data_root: android: path: "Android/data/com.armsx2/files" - source_ref: "source platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/NativeApp.java:66-92, source platforms/android/app/src/main/cpp/native-lib.cpp:306-312" + source_ref: "source platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/NativeApp.java:66-92, source platforms/android/app/src/main/cpp/native-lib.cpp:445-452" note: "the data folder picked in the setup wizard replaces it, but the BIOS folder stays bios under Android/data/com.armsx2/files" ios: path: "Documents" - source_ref: "source platforms/ios/app/src/main/cpp/IOS/AppDelegate.mm:61-73, 96-101" + source_ref: "source platforms/ios/Runtime/AppDelegate.mm:49-61, platforms/ios/Runtime/AppDelegate.mm:84-88" windows: path: "%USERPROFILE%/Documents/ARMSX2" - source_ref: "source pcsx2/Pcsx2Config.cpp:2518-2534, pcsx2/Pcsx2Config.cpp:2562-2584" + source_ref: "source pcsx2/Pcsx2Config.cpp:2523-2539, pcsx2/Pcsx2Config.cpp:2567-2589" note: "portable.ini or portable.txt beside the executable makes its folder the root, or the folder portable.txt names. A custom data path from the settings gets ARMSX2 under it" macos: path: "~/Library/Application Support/ARMSX2" - source_ref: "source pcsx2/Pcsx2Config.cpp:2518-2525, pcsx2/Pcsx2Config.cpp:2556-2584" + source_ref: "source pcsx2/Pcsx2Config.cpp:2523-2530, pcsx2/Pcsx2Config.cpp:2561-2589" note: "portable.ini or portable.txt beside the app bundle makes that folder the root" linux: path: "$XDG_CONFIG_HOME/ARMSX2, else ~/.config/ARMSX2" - source_ref: "source pcsx2/Pcsx2Config.cpp:2518-2525, pcsx2/Pcsx2Config.cpp:2535-2555, pcsx2/Pcsx2Config.cpp:2562-2584" + source_ref: "source pcsx2/Pcsx2Config.cpp:2523-2530, pcsx2/Pcsx2Config.cpp:2540-2560, pcsx2/Pcsx2Config.cpp:2567-2589" note: "portable.ini or portable.txt beside the binary makes its folder the root" notes: | @@ -50,32 +51,37 @@ notes: | EE, IOP, VU and vtlb fast memory recompilers with native AArch64 ones. One tree builds the Android application com.armsx2, an iOS package, macOS, Windows and Linux on arm64, an SDL handheld frontend, and a libretro core. - ref: README.md:1-18, platforms/android/app/build.gradle.kts:43, platforms/android/app/build.gradle.kts:122-136, + ref: README.md:1-18, platforms/android/app/build.gradle.kts:43, platforms/android/app/build.gradle.kts:143-158, .github/workflows/build-all.yml:79-85 - A BIOS image is required and boot stops without one: LoadBIOS returning false - makes VMManager report that a PlayStation 2 BIOS is needed and return a startup - failure. Only a GS dump replay skips the load. The folder is Bios under the data + A BIOS image is required and boot stops without one: LoadBIOS finding none + makes VMManager report that a PlayStation 2 BIOS is needed and fail the boot. + A file it cannot read, one without a PS2 ROM directory and a PS1 BIOS each + stop the boot with a message of their own. Only a GS dump replay skips the + load. The folder is Bios under the data directory, bios by default, and on Android the setup wizard keeps it in app-private storage because the native file APIs cannot reliably open a dump off a SAF volume. - ref: pcsx2/ps2/BiosTools.cpp:505-529, pcsx2/VMManager.cpp:2120-2140, - pcsx2/Pcsx2Config.cpp:2622, + ref: pcsx2/ps2/BiosTools.cpp:571-602, pcsx2/VMManager.cpp:2166-2206, + pcsx2/Pcsx2Config.cpp:2627, platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/NativeApp.java:80-92 Detection is by content. The scan lists the BIOS folder, keeps files between 4 and 8 MB, and accepts an image whose romdir carries a RESET entry followed by a readable ROMVER. The fifth ROMVER character gives the zone among Japan, USA, Europe, Asia, China, T10K, COH-H, Test and Free, and an EXTINFO entry supplies - the serial. The console scan passes over a COH-H image. An image named in the - configuration is opened at its own path, without the size filter. No name and - no hash is matched anywhere. The image is read into the 4 MB ROM region and + the serial. The console scan passes over a COH-H image. An image whose EXTINFO + stamp is 20111012-094243, a PS2-format ROM that is no PS2 BIOS, is refused. An + image named in the configuration is opened at its own path, without the size + filter, and still has to pass the romdir test. When the scan finds nothing, a + 512 KB file or a refused image is reported as a PS1 BIOS that does not run PS2 + games. No name and no hash is matched anywhere. The image is read into the 4 MB ROM region and truncated to it, and one shorter than 2465792 bytes turns off the OSDSys parameter HLE. IsBIOSFromFd runs the same romdir test on a file descriptor, which is how the Android picker identifies a dump handed over by the storage framework. - ref: pcsx2/ps2/BiosTools.cpp:17-18, pcsx2/ps2/BiosTools.cpp:81-211, - pcsx2/ps2/BiosTools.cpp:421-482, pcsx2/ps2/BiosTools.cpp:531-554 + ref: pcsx2/ps2/BiosTools.cpp:18-39, pcsx2/ps2/BiosTools.cpp:101-240, + pcsx2/ps2/BiosTools.cpp:448-548, pcsx2/ps2/BiosTools.cpp:604-651 An arcade session, opened from an .acgame manifest carrying an NM game id, takes a Namco board BIOS instead, a COH-H image between 2 and 8 MB in the @@ -90,9 +96,9 @@ notes: | when nothing is found. The boot ELF, the media image and the SRAM the manifest names are per-title content resolved beside it, and its dongle and second card are looked up in the memory cards folder. - ref: pcsx2/ps2/BiosTools.cpp:282-419, pcsx2/ps2/BiosTools.cpp:505-529, - pcsx2/VMManager.cpp:893-899, pcsx2/VMManager.cpp:1692-1928, - pcsx2/VMManager.cpp:2123-2130 + ref: pcsx2/ps2/BiosTools.cpp:309-446, pcsx2/ps2/BiosTools.cpp:571-602, + pcsx2/VMManager.cpp:943-949, pcsx2/VMManager.cpp:1741-1974, + pcsx2/VMManager.cpp:2190-2197 Companions derive from the selected image. rom1 and rom2 are appended to the full name first, then substituted for the existing extension, so an image at @@ -102,7 +108,7 @@ notes: | the nvm is rebuilt in memory with region and language defaults when it is missing or its config block is blank, and the mec is written back to disk as 0x00020603, or 0x0104020a in an arcade session, when it cannot be read. - ref: pcsx2/ps2/BiosTools.cpp:228-255, pcsx2/ps2/BiosTools.cpp:562-578, + ref: pcsx2/ps2/BiosTools.cpp:257-284, pcsx2/ps2/BiosTools.cpp:659-675, pcsx2/MemoryTypes.h:12-14, pcsx2/CDVD/CDVD.cpp:49-65, pcsx2/CDVD/CDVD.cpp:151-222 @@ -117,8 +123,8 @@ notes: | An IRX named in the configuration is read into the ROM region at 0x3C0000 once the IOP reaches 0x1630. The field is empty by default and names no file of its own. - ref: pcsx2/ps2/BiosTools.cpp:257-270, pcsx2/ps2/BiosTools.cpp:580-581, - pcsx2/R3000AInterpreter.cpp:223, pcsx2/arm64/iR3000A-arm64.cpp:1276 + ref: pcsx2/ps2/BiosTools.cpp:286-299, pcsx2/ps2/BiosTools.cpp:677-678, + pcsx2/R3000AInterpreter.cpp:223, pcsx2/arm64/iR3000A-arm64.cpp:1674 Everything under the resources folder is read at its own name from EmuFolders::Resources, and GetOverridableResourcePath lets a copy in @@ -132,14 +138,14 @@ notes: | copy in the resources folder wins and the compiled-in one stands in when the file is absent. The libretro core archive holds armsx2_libretro.so alone, so the resources tree is not installed with it. - ref: pcsx2/Pcsx2Config.cpp:2468-2482, pcsx2/Pcsx2Config.cpp:2631, - pcsx2/Pcsx2Config.cpp:2705-2719, pcsx2-libretro/Main.cpp:181-182, + ref: pcsx2/Pcsx2Config.cpp:2473-2487, pcsx2/Pcsx2Config.cpp:2636, + pcsx2/Pcsx2Config.cpp:2710-2724, pcsx2-libretro/Main.cpp:181-182, pcsx2-libretro/Main.cpp:1103, platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:60-61, platforms/android/app/src/main/java/kr/co/iefriends/pcsx2/MainActivity.java:379-396, - pcsx2/CMakeLists.txt:1626-1645, pcsx2/CMakeLists.txt:1680-1682, + pcsx2/CMakeLists.txt:1644-1663, pcsx2/CMakeLists.txt:1698-1700, pcsx2/GS/Renderers/Common/GSDevice.cpp:535-547, - pcsx2/GameDatabase.cpp:1348-1358, pcsx2/Patch.cpp:304-326 + pcsx2/GameDatabase.cpp:1345-1355, pcsx2/Patch.cpp:304-326 Missing resources are not uniformly survivable. A font that cannot be read is logged and skipped, LoadFontData succeeding regardless. A shader source that @@ -149,10 +155,10 @@ notes: | are the three Vulkan compute pipelines, sharpening, FSR1 and SGSR, which turn themselves off. The databases, the patch archive, the controller mappings, the sounds and the interface artwork degrade instead. - ref: pcsx2/ImGui/ImGuiManager.cpp:156-161, pcsx2/ImGui/ImGuiManager.cpp:512-528, - pcsx2/ImGui/ImGuiManager.cpp:530-573, - pcsx2/GS/GS.cpp:110-146, pcsx2/GS/GS.cpp:188-208, - pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3113-3151 + ref: pcsx2/ImGui/ImGuiManager.cpp:156-161, pcsx2/ImGui/ImGuiManager.cpp:520-536, + pcsx2/ImGui/ImGuiManager.cpp:538-581, + pcsx2/GS/GS.cpp:114-150, pcsx2/GS/GS.cpp:193-215, + pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3174-3212 The Qt builds resolve a per-script interface font by filename, first under UserResources then under the resources folder, and download the first entry of @@ -175,11 +181,12 @@ files: description: "PS2 BIOS image" note: >- Any image whose romdir holds RESET and ROMVER is accepted, whatever its - name. The 4 to 8 MB range gates the folder scan, while an image named in the + name, except the EXTINFO stamp 20111012-094243 of a PS2-format ROM that is + no PS2 BIOS. The 4 to 8 MB range gates the folder scan, while an image named in the configuration skips that range. Read into the 4 MB ROM region and truncated to it. Shorter than 2465792 bytes disables the OSDSys parameter HLE. A COH-H image is passed over by the console scan. - source_ref: "source pcsx2/ps2/BiosTools.cpp:17-18, source pcsx2/ps2/BiosTools.cpp:81-211, source pcsx2/ps2/BiosTools.cpp:421-450, source pcsx2/ps2/BiosTools.cpp:505-565" + source_ref: "source pcsx2/ps2/BiosTools.cpp:18-19, source pcsx2/ps2/BiosTools.cpp:101-240, source pcsx2/ps2/BiosTools.cpp:448-483, source pcsx2/ps2/BiosTools.cpp:571-662" - name: r27v1602f.8g found_by: content @@ -199,7 +206,7 @@ files: serial is 20040519-145634, the System 256 board, is taken first for every game but NM00010 and NM00015, which refuse it. The name is the board position the 2 MB chip dump carries. - source_ref: "source pcsx2/ps2/BiosTools.cpp:282-299, source pcsx2/ps2/BiosTools.cpp:331-419, source pcsx2/ps2/BiosTools.cpp:505-529, source pcsx2/VMManager.cpp:895-899, source pcsx2/VMManager.cpp:1847-1871, source pcsx2/VMManager.cpp:2123-2130" + source_ref: "source pcsx2/ps2/BiosTools.cpp:309-326, source pcsx2/ps2/BiosTools.cpp:358-446, source pcsx2/ps2/BiosTools.cpp:305, source pcsx2/VMManager.cpp:945-949, source pcsx2/VMManager.cpp:1894-1918, source pcsx2/VMManager.cpp:2170-2197" - name: r27v1602f.7d found_by: content @@ -216,7 +223,7 @@ files: The System 246 Rack C board, EXTINFO serial 20021119-163841, taken when no System 256 image runs the game: for NM00010 and NM00015, or when the folder holds none. - source_ref: "source pcsx2/ps2/BiosTools.cpp:176-183, source pcsx2/ps2/BiosTools.cpp:331-419, source pcsx2/ps2/BiosTools.cpp:505-529" + source_ref: "source pcsx2/ps2/BiosTools.cpp:205-212, source pcsx2/ps2/BiosTools.cpp:358-446, source pcsx2/ps2/BiosTools.cpp:571-602" - name: COH-H31000.BIN found_by: content @@ -233,7 +240,7 @@ files: The third board FindArcadeBiosFor names, EXTINFO serial 20000901-114731, taken after the System 256 and System 246 Rack C images. NM00002 refuses it. Found by content like the other two, the name being a label. - source_ref: "source pcsx2/ps2/BiosTools.cpp:331-419" + source_ref: "source pcsx2/ps2/BiosTools.cpp:358-446" - name: ps2-0230a-20080220.rom1 path: pcsx2/bios/ps2-0230a-20080220.rom1 @@ -245,7 +252,7 @@ files: Tried as {bios}.rom1 then {biosbase}.rom1, with a case-insensitive retry on the open. Copied to the ROM1 region and truncated to 4 MB. Logged and skipped when absent. - source_ref: "source pcsx2/ps2/BiosTools.cpp:228-255, source pcsx2/ps2/BiosTools.cpp:562, source pcsx2/ps2/BiosTools.cpp:567-578, source pcsx2/MemoryTypes.h:13" + source_ref: "source pcsx2/ps2/BiosTools.cpp:257-284, source pcsx2/ps2/BiosTools.cpp:659, source pcsx2/ps2/BiosTools.cpp:664-675, source pcsx2/MemoryTypes.h:13" - name: ps2-0230a-20080220.rom2 aliases: @@ -258,7 +265,7 @@ files: note: >- Same two-step naming as rom1. Copied to the ROM2 region, which is 4 MB in this tree. Only present on Chinese region consoles. - source_ref: "source pcsx2/ps2/BiosTools.cpp:228-255, source pcsx2/ps2/BiosTools.cpp:563, source pcsx2/ps2/BiosTools.cpp:567-578, source pcsx2/MemoryTypes.h:14" + source_ref: "source pcsx2/ps2/BiosTools.cpp:257-284, source pcsx2/ps2/BiosTools.cpp:660, source pcsx2/ps2/BiosTools.cpp:664-675, source pcsx2/MemoryTypes.h:14" - name: ps2-0230a-20080220.nvm path: pcsx2/bios/ps2-0230a-20080220.nvm @@ -321,7 +328,7 @@ files: note: >- Read into the ROM region at 0x3C0000 when the IOP program counter reaches 0x1630 and the setting is longer than three characters. Empty by default. - source_ref: "source pcsx2/ps2/BiosTools.cpp:257-270, source pcsx2/ps2/BiosTools.cpp:580-581, source pcsx2/R3000AInterpreter.cpp:223, source pcsx2/arm64/iR3000A-arm64.cpp:1276, source pcsx2/Config.h:1757" + source_ref: "source pcsx2/ps2/BiosTools.cpp:286-299, source pcsx2/ps2/BiosTools.cpp:677-678, source pcsx2/R3000AInterpreter.cpp:223, source pcsx2/arm64/iR3000A-arm64.cpp:1674, source pcsx2/Config.h:1759" - name: GameIndex.yaml path: pcsx2/resources/GameIndex.yaml @@ -335,7 +342,7 @@ files: Read from the resources folder, keyed by serial, carrying the per-game fixes, patches and settings overrides. Parsed once on first lookup. The libretro build falls back on a compiled-in copy when the file is absent. - source_ref: "source pcsx2/GameDatabase.cpp:50, source pcsx2/GameDatabase.cpp:1407-1412, source pcsx2/GameDatabase.cpp:1348-1358" + source_ref: "source pcsx2/GameDatabase.cpp:50, source pcsx2/GameDatabase.cpp:1404-1409, source pcsx2/GameDatabase.cpp:1345-1355" - name: GameIndex.yaml path: pcsx2/resources/GameIndex.yaml @@ -345,7 +352,7 @@ files: bundled: true description: "Game database" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GameDatabase.cpp:50, source pcsx2/GameDatabase.cpp:1407-1412, source pcsx2/GameDatabase.cpp:1348-1358" + source_ref: "source pcsx2/GameDatabase.cpp:50, source pcsx2/GameDatabase.cpp:1404-1409, source pcsx2/GameDatabase.cpp:1345-1355" - name: armsx2_overrides.yaml path: pcsx2/resources/armsx2_overrides.yaml @@ -358,7 +365,7 @@ files: declares. Carries GS and JIT tuning correct on tiler GPUs. Kept outside the shipped resources folder and copied in only for arm64 Linux, Android and iOS. The loader no-ops where it is absent. - source_ref: "source pcsx2/GameDatabase.cpp:57, source pcsx2/GameDatabase.cpp:1413-1416, source cmake/BuildParameters.cmake:227-240, source pcsx2/CMakeLists.txt:1986-1995, source platforms/android/app/build.gradle.kts:74-86" + source_ref: "source pcsx2/GameDatabase.cpp:57, source pcsx2/GameDatabase.cpp:1410-1413, source cmake/BuildParameters.cmake:227-240, source pcsx2/CMakeLists.txt:2004-2013, source platforms/android/app/build.gradle.kts:95-107" - name: armsx2_overrides.yaml path: pcsx2/resources/armsx2_overrides.yaml @@ -369,7 +376,7 @@ files: sha1: "07d22c89bbc4a40576935ba0a65956575937463c" description: "Mobile GPU game database overlay" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GameDatabase.cpp:57, source pcsx2/GameDatabase.cpp:1413-1416, source cmake/BuildParameters.cmake:227-240, source pcsx2/CMakeLists.txt:1986-1995, source platforms/android/app/build.gradle.kts:74-86" + source_ref: "source pcsx2/GameDatabase.cpp:57, source pcsx2/GameDatabase.cpp:1410-1413, source cmake/BuildParameters.cmake:227-240, source pcsx2/CMakeLists.txt:2004-2013, source platforms/android/app/build.gradle.kts:95-107" - name: RedumpDatabase.yaml path: pcsx2/resources/RedumpDatabase.yaml @@ -382,7 +389,7 @@ files: note: >- Loaded on the first hash lookup and used to tell the user whether a dump matches a known good one. Read by the Qt game summary page. - source_ref: "source pcsx2/GameDatabase.cpp:1495, source pcsx2/GameDatabase.cpp:1545-1560, source pcsx2-qt/Settings/GameSummaryWidget.cpp:327" + source_ref: "source pcsx2/GameDatabase.cpp:1507, source pcsx2/GameDatabase.cpp:1557-1572, source pcsx2-qt/Settings/GameSummaryWidget.cpp:327" - name: RedumpDatabase.yaml path: pcsx2/resources/RedumpDatabase.yaml @@ -392,7 +399,7 @@ files: bundled: true description: "Disc track hash database" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GameDatabase.cpp:1495, source pcsx2/GameDatabase.cpp:1545-1560, source pcsx2-qt/Settings/GameSummaryWidget.cpp:327" + source_ref: "source pcsx2/GameDatabase.cpp:1507, source pcsx2/GameDatabase.cpp:1557-1572, source pcsx2-qt/Settings/GameSummaryWidget.cpp:327" - name: patches.zip path: pcsx2/resources/patches.zip @@ -445,7 +452,7 @@ files: Seeded as the standard font when no language layer supplied one, which is always the case on Android. A missing file is logged and the font list is left empty. - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:536-546, source pcsx2/ImGui/ImGuiManager.cpp:156-161, source pcsx2/GS/GS.cpp:188-208" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:544-554, source pcsx2/ImGui/ImGuiManager.cpp:156-161, source pcsx2/GS/GS.cpp:193-215" - name: Roboto-Regular.ttf path: pcsx2/resources/fonts/Roboto-Regular.ttf @@ -456,7 +463,7 @@ files: sha1: "00d62fbdc8d5dec4c659005e116d0ba2ee63b547" description: "Interface font" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:536-546, source pcsx2/ImGui/ImGuiManager.cpp:156-161, source pcsx2/GS/GS.cpp:188-208" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:544-554, source pcsx2/ImGui/ImGuiManager.cpp:156-161, source pcsx2/GS/GS.cpp:193-215" - name: RobotoMono-Medium.ttf path: pcsx2/resources/fonts/RobotoMono-Medium.ttf @@ -468,7 +475,7 @@ files: Read for the fixed-width font, the standard font standing in when it is missing. Also the initial path the fullscreen interface offers when picking a custom OSD font. - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:568, source pcsx2/ImGui/FullscreenUI_Settings.cpp:3655" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:576, source pcsx2/ImGui/FullscreenUI_Settings.cpp:3659" - name: RobotoMono-Medium.ttf path: pcsx2/resources/fonts/RobotoMono-Medium.ttf @@ -479,7 +486,7 @@ files: sha1: "9056e59b69c6f1160fdfb92a0773f17f6307f3ad" description: "Fixed-width interface font" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:568, source pcsx2/ImGui/FullscreenUI_Settings.cpp:3655" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:576, source pcsx2/ImGui/FullscreenUI_Settings.cpp:3659" - name: fa-solid-900.ttf path: pcsx2/resources/fonts/fa-solid-900.ttf @@ -488,7 +495,7 @@ files: required: false description: "Font Awesome icon font" note: "Read for the interface icon glyphs. A missing file is logged and skipped." - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:569" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:577" - name: fa-solid-900.ttf path: pcsx2/resources/fonts/fa-solid-900.ttf @@ -499,7 +506,7 @@ files: sha1: "7f0f721265c228f2484e4924bace5a80b7826fbe" description: "Font Awesome icon font" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:569" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:577" - name: promptfont.otf path: pcsx2/resources/fonts/promptfont.otf @@ -508,7 +515,7 @@ files: required: false description: "Controller prompt font" note: "Read for the controller button glyphs. A missing file is logged and skipped." - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:570" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:578" - name: promptfont.otf path: pcsx2/resources/fonts/promptfont.otf @@ -519,7 +526,7 @@ files: sha1: "374ee91aeabee48013d2f090571752ec5081356f" description: "Controller prompt font" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:512-528, source pcsx2/ImGui/ImGuiManager.cpp:570" + source_ref: "source pcsx2/ImGui/ImGuiManager.cpp:520-536, source pcsx2/ImGui/ImGuiManager.cpp:578" - name: Twemoji.Mozilla.ttf path: pcsx2/resources/fonts/Twemoji.Mozilla.ttf @@ -532,7 +539,7 @@ files: resources folder and downloaded into UserResources/fonts when neither holds it. Read by the Qt builds only, and the Android asset step leaves it out. The macOS bundle ships it, the Windows zip and the APK do not. - source_ref: "source pcsx2-qt/Translations.cpp:340-347, source pcsx2-qt/Translations.cpp:407-424, source pcsx2-qt/Translations.cpp:541-549, source platforms/android/app/build.gradle.kts:80-82" + source_ref: "source pcsx2-qt/Translations.cpp:340-347, source pcsx2-qt/Translations.cpp:407-424, source pcsx2-qt/Translations.cpp:541-549, source platforms/android/app/build.gradle.kts:101-103" - name: NotoSansJP-Regular.ttf path: pcsx2/resources/fonts/NotoSansJP-Regular.ttf @@ -603,7 +610,7 @@ files: Compiled at device creation. A source that cannot be read fails the pipeline compile and the Vulkan device with it. The libretro build falls back on a compiled-in copy of every shader source. - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3088-3093, source pcsx2/GS/Renderers/Common/GSDevice.cpp:535-547" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3149-3154, source pcsx2/GS/Renderers/Common/GSDevice.cpp:535-547" - name: tfx.glsl path: pcsx2/resources/shaders/vulkan/tfx.glsl @@ -613,7 +620,7 @@ files: bundled: true description: "Vulkan texture function shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3088-3093, source pcsx2/GS/Renderers/Common/GSDevice.cpp:535-547" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3149-3154, source pcsx2/GS/Renderers/Common/GSDevice.cpp:535-547" - name: convert.glsl path: pcsx2/resources/shaders/vulkan/convert.glsl @@ -621,7 +628,7 @@ files: mode: libretro required: true description: "Vulkan conversion shader" - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6312-6317, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6675-6680" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6487-6492, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6852-6857" - name: convert.glsl path: pcsx2/resources/shaders/vulkan/convert.glsl @@ -631,7 +638,7 @@ files: bundled: true description: "Vulkan conversion shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6312-6317, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6675-6680" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6487-6492, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6852-6857" - name: present.glsl path: pcsx2/resources/shaders/vulkan/present.glsl @@ -639,7 +646,7 @@ files: mode: libretro required: true description: "Vulkan presentation shader" - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6504-6508" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6681-6685" - name: present.glsl path: pcsx2/resources/shaders/vulkan/present.glsl @@ -649,7 +656,7 @@ files: bundled: true description: "Vulkan presentation shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6504-6508" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6681-6685" - name: merge.glsl path: pcsx2/resources/shaders/vulkan/merge.glsl @@ -657,7 +664,7 @@ files: mode: libretro required: true description: "Vulkan merge shader" - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6605-6609" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6782-6786" - name: merge.glsl path: pcsx2/resources/shaders/vulkan/merge.glsl @@ -667,7 +674,7 @@ files: bundled: true description: "Vulkan merge shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6605-6609" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6782-6786" - name: interlace.glsl path: pcsx2/resources/shaders/vulkan/interlace.glsl @@ -675,7 +682,7 @@ files: mode: libretro required: true description: "Vulkan interlace shader" - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6554-6558" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6731-6735" - name: interlace.glsl path: pcsx2/resources/shaders/vulkan/interlace.glsl @@ -685,7 +692,7 @@ files: bundled: true description: "Vulkan interlace shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6554-6558" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6731-6735" - name: shadeboost.glsl path: pcsx2/resources/shaders/vulkan/shadeboost.glsl @@ -696,7 +703,7 @@ files: note: >- Compiled by the post-processing pass, which runs unconditionally in the device creation chain, so a source that cannot be read fails the device. - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6655, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6710-6715, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3113-3118" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6832, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6887-6892, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3174-3179" - name: shadeboost.glsl path: pcsx2/resources/shaders/vulkan/shadeboost.glsl @@ -706,7 +713,7 @@ files: bundled: true description: "Vulkan shade boost shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6655, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6710-6715, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3113-3118" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6832, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6887-6892, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3174-3179" - name: cas.glsl path: pcsx2/resources/shaders/vulkan/cas.glsl @@ -719,7 +726,7 @@ files: Includes ffx_a.h and ffx_cas.h. The only shader whose compile failure is caught: sharpening is turned off and device creation carries on, because older Adreno compilers reject the compute pipeline. - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6761-6763, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3126-3133" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6938-6940, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3187-3194" - name: cas.glsl path: pcsx2/resources/shaders/vulkan/cas.glsl @@ -729,7 +736,7 @@ files: bundled: true description: "Vulkan contrast adaptive sharpening shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6761-6763, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3126-3133" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6938-6940, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3187-3194" - name: fsr1.glsl path: pcsx2/resources/shaders/vulkan/fsr1.glsl @@ -741,7 +748,7 @@ files: Read twice, once per pass, with ffx_a_fsr1.h and ffx_fsr1.h substituted for its include lines. A failure turns FSR1 upscaling off and device creation carries on. - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6810-6814, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3144-3148, source pcsx2/GS/Renderers/Common/GSDevice.cpp:1658-1675" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6987-6991, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3205-3209, source pcsx2/GS/Renderers/Common/GSDevice.cpp:1658-1675" - name: fsr1.glsl path: pcsx2/resources/shaders/vulkan/fsr1.glsl @@ -751,7 +758,7 @@ files: bundled: true description: "Vulkan FSR1 upscaling shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6810-6814, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3144-3148, source pcsx2/GS/Renderers/Common/GSDevice.cpp:1658-1675" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6987-6991, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3205-3209, source pcsx2/GS/Renderers/Common/GSDevice.cpp:1658-1675" - name: sgsr.glsl path: pcsx2/resources/shaders/vulkan/sgsr.glsl @@ -762,7 +769,7 @@ files: note: >- Read twice, once per edge-direction variant. A failure turns SGSR upscaling off and device creation carries on. - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6858-6862, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3138-3142" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:7035-7039, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3199-3203" - name: sgsr.glsl path: pcsx2/resources/shaders/vulkan/sgsr.glsl @@ -772,7 +779,7 @@ files: bundled: true description: "Vulkan SGSR upscaling shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6858-6862, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3138-3142" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:7035-7039, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3199-3203" - name: imgui.glsl path: pcsx2/resources/shaders/vulkan/imgui.glsl @@ -780,7 +787,7 @@ files: mode: libretro required: true description: "Vulkan interface shader" - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6885-6890, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3150-3151" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:7062-7067, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3211-3212" - name: imgui.glsl path: pcsx2/resources/shaders/vulkan/imgui.glsl @@ -790,7 +797,7 @@ files: bundled: true description: "Vulkan interface shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6885-6890, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3150-3151" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:7062-7067, source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:3211-3212" - name: fxaa.fx path: pcsx2/resources/shaders/common/fxaa.fx @@ -802,7 +809,7 @@ files: Compiled by the Vulkan and OpenGL post-processing passes as part of device creation, so the device fails without it. The Direct3D backends compile it lazily on first use and only lose the effect. - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6682-6687, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:696-697, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3212-3220, source pcsx2/GS/Renderers/DX11/GSDevice11.cpp:1967-1974, source pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3167" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6859-6864, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:697-698, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3225-3233, source pcsx2/GS/Renderers/DX11/GSDevice11.cpp:1967-1974, source pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3167" - name: fxaa.fx path: pcsx2/resources/shaders/common/fxaa.fx @@ -812,7 +819,7 @@ files: bundled: true description: "FXAA shader, shared by every backend" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6682-6687, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:696-697, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3212-3220, source pcsx2/GS/Renderers/DX11/GSDevice11.cpp:1967-1974, source pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3167" + source_ref: "source pcsx2/GS/Renderers/Vulkan/GSDeviceVK.cpp:6859-6864, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:697-698, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3225-3233, source pcsx2/GS/Renderers/DX11/GSDevice11.cpp:1967-1974, source pcsx2/GS/Renderers/DX12/GSDevice12.cpp:3167" - name: ffx_a.h path: pcsx2/resources/shaders/common/ffx_a.h @@ -904,7 +911,7 @@ files: The OpenGL backend is one of those the renderer setting selects, and it is what an Android device falls back to when Vulkan is not chosen. Its device creation fails without this source, while a Vulkan session is unaffected. - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:911-915, source pcsx2/GS/GS.cpp:110-146" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:912-916, source pcsx2/GS/GS.cpp:114-150" - name: tfx_vgs.glsl path: pcsx2/resources/shaders/opengl/tfx_vgs.glsl @@ -914,7 +921,7 @@ files: bundled: true description: "OpenGL texture function vertex and geometry shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:911-915, source pcsx2/GS/GS.cpp:110-146" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:912-916, source pcsx2/GS/GS.cpp:114-150" - name: tfx_fs.glsl path: pcsx2/resources/shaders/opengl/tfx_fs.glsl @@ -923,7 +930,7 @@ files: required: false description: "OpenGL texture function fragment shader" note: "Read with tfx_vgs.glsl. The OpenGL device fails without it." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:911-915" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:912-916" - name: tfx_fs.glsl path: pcsx2/resources/shaders/opengl/tfx_fs.glsl @@ -933,7 +940,7 @@ files: bundled: true description: "OpenGL texture function fragment shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:911-915" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:912-916" - name: convert.glsl path: pcsx2/resources/shaders/opengl/convert.glsl @@ -942,7 +949,7 @@ files: required: false description: "OpenGL conversion shader" note: "The OpenGL device fails without it." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:527-533" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:528-534" - name: convert.glsl path: pcsx2/resources/shaders/opengl/convert.glsl @@ -952,7 +959,7 @@ files: bundled: true description: "OpenGL conversion shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:527-533" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:528-534" - name: present.glsl path: pcsx2/resources/shaders/opengl/present.glsl @@ -961,7 +968,7 @@ files: required: false description: "OpenGL presentation shader" note: "The OpenGL device fails without it." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:615-620" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:616-621" - name: present.glsl path: pcsx2/resources/shaders/opengl/present.glsl @@ -971,7 +978,7 @@ files: bundled: true description: "OpenGL presentation shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:615-620" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:616-621" - name: merge.glsl path: pcsx2/resources/shaders/opengl/merge.glsl @@ -980,7 +987,7 @@ files: required: false description: "OpenGL merge shader" note: "The OpenGL device fails without it." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:651-656" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:652-657" - name: merge.glsl path: pcsx2/resources/shaders/opengl/merge.glsl @@ -990,7 +997,7 @@ files: bundled: true description: "OpenGL merge shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:651-656" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:652-657" - name: interlace.glsl path: pcsx2/resources/shaders/opengl/interlace.glsl @@ -999,7 +1006,7 @@ files: required: false description: "OpenGL interlace shader" note: "The OpenGL device fails without it." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:674-679" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:675-680" - name: interlace.glsl path: pcsx2/resources/shaders/opengl/interlace.glsl @@ -1009,7 +1016,7 @@ files: bundled: true description: "OpenGL interlace shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:674-679" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:675-680" - name: shadeboost.glsl path: pcsx2/resources/shaders/opengl/shadeboost.glsl @@ -1020,7 +1027,7 @@ files: note: >- Compiled with the FXAA program in the OpenGL device creation chain, so that device fails without it. - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:696-697, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3467-3473" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:697-698, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3480-3486" - name: shadeboost.glsl path: pcsx2/resources/shaders/opengl/shadeboost.glsl @@ -1030,7 +1037,7 @@ files: bundled: true description: "OpenGL shade boost shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:696-697, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3467-3473" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:697-698, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3480-3486" - name: cas.glsl path: pcsx2/resources/shaders/opengl/cas.glsl @@ -1042,7 +1049,7 @@ files: A desktop GL compute shader, read only on a GL 4.2 context with compute shaders and gated away from GL ES contexts because feeding it to an ES compiler crashes some drivers. A failure turns sharpening off. - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3656-3662, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:699-708" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3669-3675, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:700-709" - name: cas.glsl path: pcsx2/resources/shaders/opengl/cas.glsl @@ -1052,7 +1059,7 @@ files: bundled: true description: "OpenGL contrast adaptive sharpening shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3656-3662, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:699-708" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3669-3675, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:700-709" - name: imgui.glsl path: pcsx2/resources/shaders/opengl/imgui.glsl @@ -1061,7 +1068,7 @@ files: required: false description: "OpenGL interface shader" note: "The OpenGL device fails without it." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:802-803, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3716-3723" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:803-804, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3729-3736" - name: imgui.glsl path: pcsx2/resources/shaders/opengl/imgui.glsl @@ -1071,7 +1078,7 @@ files: bundled: true description: "OpenGL interface shader" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:802-803, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3716-3723" + source_ref: "source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:803-804, source pcsx2/GS/Renderers/OpenGL/GSDeviceOGL.cpp:3729-3736" - name: tfx.fx size: 56971 @@ -1086,7 +1093,7 @@ files: Read by the Direct3D 11 and Direct3D 12 backends of the Windows on arm64 build, whose devices fail without it. The Android asset step drops the dx11 folder because the mobile backends never compile it. - source_ref: "upstream pcsx2/GS/Renderers/DX11/GSDevice11.cpp:215-218, source pcsx2/GS/Renderers/DX12/GSDevice12.cpp:1008, source platforms/android/app/build.gradle.kts:74-79" + source_ref: "upstream pcsx2/GS/Renderers/DX11/GSDevice11.cpp:215-218, source pcsx2/GS/Renderers/DX12/GSDevice12.cpp:1008, source platforms/android/app/build.gradle.kts:95-100" - name: convert.fx size: 16151 @@ -1182,7 +1189,7 @@ files: folder when the texture upscaler is set to RAISR 2x or 4x, which is off by default. A file that cannot be read or parsed turns the upscaler off with a message. The libretro build does not compile it in. - source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1868-1902, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1132-1149, source pcsx2/Config.h:510-515, source pcsx2/Config.h:1065" + source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1859-1893, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1082-1099, source pcsx2/Config.h:507-512, source pcsx2/Config.h:1067" - name: filterbin_2_8 path: pcsx2/resources/upscale/raisr/ps2/filterbin_2_8 @@ -1194,7 +1201,7 @@ files: sha1: "e4538d7d2363115ab8053fc3817218f923c5d7df" description: "RAISR filter bank" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1868-1902, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1132-1149, source pcsx2/Config.h:510-515, source pcsx2/Config.h:1065" + source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1859-1893, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1082-1099, source pcsx2/Config.h:507-512, source pcsx2/Config.h:1067" - name: Qfactor_strbin_2_8 path: pcsx2/resources/upscale/raisr/ps2/Qfactor_strbin_2_8 @@ -1207,7 +1214,7 @@ files: folder when the texture upscaler is set to RAISR 2x or 4x, which is off by default. A file that cannot be read or parsed turns the upscaler off with a message. The libretro build does not compile it in. - source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1868-1902, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1132-1149, source pcsx2/Config.h:510-515, source pcsx2/Config.h:1065" + source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1859-1893, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1082-1099, source pcsx2/Config.h:507-512, source pcsx2/Config.h:1067" - name: Qfactor_strbin_2_8 path: pcsx2/resources/upscale/raisr/ps2/Qfactor_strbin_2_8 @@ -1219,7 +1226,7 @@ files: sha1: "a04b24022b1341a1e27d92d749b4b04572d782eb" description: "RAISR strength quantisation table" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1868-1902, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1132-1149, source pcsx2/Config.h:510-515, source pcsx2/Config.h:1065" + source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1859-1893, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1082-1099, source pcsx2/Config.h:507-512, source pcsx2/Config.h:1067" - name: Qfactor_cohbin_2_8 path: pcsx2/resources/upscale/raisr/ps2/Qfactor_cohbin_2_8 @@ -1232,7 +1239,7 @@ files: folder when the texture upscaler is set to RAISR 2x or 4x, which is off by default. A file that cannot be read or parsed turns the upscaler off with a message. The libretro build does not compile it in. - source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1868-1902, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1132-1149, source pcsx2/Config.h:510-515, source pcsx2/Config.h:1065" + source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1859-1893, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1082-1099, source pcsx2/Config.h:507-512, source pcsx2/Config.h:1067" - name: Qfactor_cohbin_2_8 path: pcsx2/resources/upscale/raisr/ps2/Qfactor_cohbin_2_8 @@ -1244,7 +1251,7 @@ files: sha1: "173f272a8a14d9b0209bedc6a16152a709ab9590" description: "RAISR coherence quantisation table" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1868-1902, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1132-1149, source pcsx2/Config.h:510-515, source pcsx2/Config.h:1065" + source_ref: "source pcsx2/GS/Renderers/HW/GSTextureReplacements.cpp:1859-1893, source pcsx2/GS/Renderers/HW/GSTextureUpscaler.cpp:1082-1099, source pcsx2/Config.h:507-512, source pcsx2/Config.h:1067" - name: NM00007.conquestcard.gzip standalone_path: resources/arcade/NM00007.conquestcard.gzip @@ -1261,7 +1268,7 @@ files: (NM00007) is set up with no card of its own, and read by the game in slot 2. The Android application ships it as an asset, the desktop arcade setup reads it through the overridable resource path. - source_ref: "source pcsx2/Arcade/ArcadeSetup.cpp:610-660, source pcsx2/Arcade/ArcadeSetup.cpp:904-911, source pcsx2/VMManager.cpp:1824-1835, source platforms/android/app/src/main/java/com/armsx2/arcade/Arcade.kt:344-352" + source_ref: "source pcsx2/Arcade/ArcadeSetup.cpp:593-642, source pcsx2/Arcade/ArcadeSetup.cpp:874-881, source pcsx2/VMManager.cpp:1871-1882, source platforms/android/app/src/main/java/com/armsx2/arcade/Arcade.kt:338-343" - name: proverb.zip standalone_path: arcade/proverb.zip @@ -1277,7 +1284,7 @@ files: 64 MB or one holding no boot program, and writes the game's boot.elf out of it at each import. The core opens only that boot.elf, at the path the game's manifest gives, and an arcade boot stops without it. - source_ref: "source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:34-35, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:37, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:44, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:57-93, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:144, source pcsx2/VMManager.cpp:1804-1811" + source_ref: "source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:33-34, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:36, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:40, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:53-89, source platforms/android/app/src/main/java/com/armsx2/arcade/ArcadeLibrary.kt:135, source pcsx2/VMManager.cpp:1851-1858" - name: message.wav path: pcsx2/resources/sounds/achievements/message.wav @@ -1288,7 +1295,7 @@ files: note: >- Played from the resources folder when the achievement information sound is enabled and no custom sound is set. - source_ref: "source pcsx2/Achievements.cpp:68, source pcsx2/Achievements.cpp:1278-1284, source pcsx2/Achievements.cpp:1528" + source_ref: "source pcsx2/Achievements.cpp:68, source pcsx2/Achievements.cpp:1288-1294, source pcsx2/Achievements.cpp:1538" - name: message.wav path: pcsx2/resources/sounds/achievements/message.wav @@ -1299,7 +1306,7 @@ files: sha1: "c54f04b63ac6f04e0a0944ef260b5497e4494dbd" description: "Achievement notification sound" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/Achievements.cpp:68, source pcsx2/Achievements.cpp:1278-1284, source pcsx2/Achievements.cpp:1528" + source_ref: "source pcsx2/Achievements.cpp:68, source pcsx2/Achievements.cpp:1288-1294, source pcsx2/Achievements.cpp:1538" - name: unlock.wav path: pcsx2/resources/sounds/achievements/unlock.wav @@ -1309,7 +1316,7 @@ files: sha1: da328a0a3074ec86fee2d6741bfc2e5a1f68d063 size: 202702 description: "Achievement unlock sound" - source_ref: "source pcsx2/Achievements.cpp:69, source pcsx2/Achievements.cpp:1278-1284, source pcsx2/Achievements.cpp:1581" + source_ref: "source pcsx2/Achievements.cpp:69, source pcsx2/Achievements.cpp:1288-1294, source pcsx2/Achievements.cpp:1591" - name: unlock.wav path: pcsx2/resources/sounds/achievements/unlock.wav @@ -1320,7 +1327,7 @@ files: sha1: "da328a0a3074ec86fee2d6741bfc2e5a1f68d063" description: "Achievement unlock sound" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/Achievements.cpp:69, source pcsx2/Achievements.cpp:1278-1284, source pcsx2/Achievements.cpp:1581" + source_ref: "source pcsx2/Achievements.cpp:69, source pcsx2/Achievements.cpp:1288-1294, source pcsx2/Achievements.cpp:1591" - name: lbsubmit.wav path: pcsx2/resources/sounds/achievements/lbsubmit.wav @@ -1328,7 +1335,7 @@ files: mode: libretro required: false description: "Leaderboard submission sound" - source_ref: "source pcsx2/Achievements.cpp:70, source pcsx2/Achievements.cpp:1278-1284, source pcsx2/Achievements.cpp:1675" + source_ref: "source pcsx2/Achievements.cpp:70, source pcsx2/Achievements.cpp:1288-1294, source pcsx2/Achievements.cpp:1685" - name: lbsubmit.wav path: pcsx2/resources/sounds/achievements/lbsubmit.wav @@ -1339,7 +1346,7 @@ files: sha1: "5ad1e110dcf0ffd26405981398892a82e4f3bad1" description: "Leaderboard submission sound" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/Achievements.cpp:70, source pcsx2/Achievements.cpp:1278-1284, source pcsx2/Achievements.cpp:1675" + source_ref: "source pcsx2/Achievements.cpp:70, source pcsx2/Achievements.cpp:1288-1294, source pcsx2/Achievements.cpp:1685" - name: placeholder.png path: pcsx2/resources/fullscreenui/placeholder.png @@ -1368,7 +1375,7 @@ files: mode: libretro required: false description: "Empty save slot texture" - source_ref: "source pcsx2/ImGui/ImGuiOverlays.cpp:1744" + source_ref: "source pcsx2/ImGui/ImGuiOverlays.cpp:1740" - name: no-save.png path: pcsx2/resources/fullscreenui/no-save.png @@ -1379,7 +1386,7 @@ files: sha1: "7b0bb79d38c573648de218645c6fb16449e156e0" description: "Empty save slot texture" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/ImGui/ImGuiOverlays.cpp:1744" + source_ref: "source pcsx2/ImGui/ImGuiOverlays.cpp:1740" - name: media-cdrom.svg path: pcsx2/resources/fullscreenui/media-cdrom.svg @@ -1610,7 +1617,7 @@ files: mode: libretro required: false description: "RetroAchievements icon" - source_ref: "source pcsx2/ImGui/FullscreenUI_Settings.cpp:4644, source pcsx2-qt/SetupWizardDialog.cpp:480, upstream pcsx2-qt/Settings/AchievementLoginDialog.cpp:21" + source_ref: "source pcsx2/ImGui/FullscreenUI_Settings.cpp:4647, source pcsx2-qt/SetupWizardDialog.cpp:480, upstream pcsx2-qt/Settings/AchievementLoginDialog.cpp:21" - name: ra-icon.svg path: pcsx2/resources/icons/ra-icon.svg @@ -1620,7 +1627,7 @@ files: bundled: true description: "RetroAchievements icon" note: "Shipped in the assets of the 2.9 APK and in the 2.9 Linux AppImage." - source_ref: "source pcsx2/ImGui/FullscreenUI_Settings.cpp:4644, source pcsx2-qt/SetupWizardDialog.cpp:480, upstream pcsx2-qt/Settings/AchievementLoginDialog.cpp:21" + source_ref: "source pcsx2/ImGui/FullscreenUI_Settings.cpp:4647, source pcsx2-qt/SetupWizardDialog.cpp:480, upstream pcsx2-qt/Settings/AchievementLoginDialog.cpp:21" - name: "star-.svg" path: "pcsx2/resources/icons/star-.svg" diff --git a/emulators/ax360e.yml b/emulators/ax360e.yml index 57b01d8a6..f91c87466 100644 --- a/emulators/ax360e.yml +++ b/emulators/ax360e.yml @@ -5,9 +5,9 @@ source: "https://github.com/aenu1/ax360e" source_branch: main upstream: "https://github.com/xenia-canary/xenia-canary" profiled_date: "2026-08-11" -source_commit: "b8c1838f21761ac463724e24105eda97b990e704" -upstream_commit: "dc561e4df578c903087f9bdf56ff61d9ef9f2a93" -upstream_frozen: "The xenia-canary tree vendored under app/src/main/cpp/xenia-canary is canary_experimental at this commit." +source_commit: "1df063dfabd363bd082cff8501c8c78ee35851d4" +upstream_commit: "2372a54105d9d598ab5bc7ba94a72ef1bea4b271" +upstream_frozen: "The xenia-canary tree vendored under app/src/main/cpp/xenia-canary is canary_experimental at this commit, synced by aX360e commit da26e89." core_version: null version_basis: kind: none @@ -21,12 +21,12 @@ mode: standalone notes: | Xbox 360 emulator for Android, distributed on Google Play as aenu.ax360e and aenu.ax360e.free. Xenia Canary is vendored whole under - app/src/main/cpp/xenia-canary at canary_experimental dc561e4d, and a JNI layer + app/src/main/cpp/xenia-canary at canary_experimental 2372a541, and a JNI layer replaces the desktop front end: its own windowed app and window, AAudio and OpenSLES audio systems, an Android input driver, and disc image, disc archive, STFS and XEX devices backed by the Storage Access Framework. ref: app/src/main/cpp/version.h:4-5, - app/src/main/cpp/CMakeLists.txt:39-75, + app/src/main/cpp/CMakeLists.txt:39-77, app/src/main/cpp/ax360e_emu.cpp:616 The version is read from the commit subjects, which carry it: 1.18 is the head @@ -41,9 +41,9 @@ notes: | turn when an image is read, the 0x19 key pair the profile blob is encrypted with, and the key vault map XeKeysGetKey answers from. There is no NAND, flash or keyvault path. - ref: app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:316-321, + ref: app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:317-322, app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:54-65, - app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:982-994, + app/src/main/cpp/xenia-canary/src/xenia/cpu/xex_module.cc:998-1010, app/src/main/cpp/xenia-canary/src/xenia/kernel/util/crypto_utils.cc:20-31, app/src/main/cpp/xenia-canary/src/xenia/kernel/xboxkrnl/xboxkrnl_crypt.cc:169-173 @@ -73,7 +73,7 @@ notes: | ref: app/src/main/java/aenu/ax360e/Application.java:30-34, app/src/main/java/aenu/ax360e/Application.java:92-96, app/src/main/assets/config/default_config.toml:371, - app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:501-557 + app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:546-602 477 game patches ship inside the APK. The patch database reads the patches directory only, so a bundled patch reaches the emulator once the user opens the @@ -81,8 +81,8 @@ notes: | the same name. ref: ax360e/app/src/main/assets/game-patches, app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-56, - app/src/main/java/aenu/ax360e/Emulator.java:119-149, - app/src/main/java/aenu/ax360e/MainActivity.java:505-514 + app/src/main/java/aenu/ax360e/Emulator.java:133-163, + app/src/main/java/aenu/ax360e/MainActivity.java:509-518 files: - name: ".zip" @@ -110,7 +110,7 @@ files: Supplement, Extended Latin, Greek, Cyrillic, punctuation, superscript, letterlike and number form ranges. A face that fails to build is cleared and the embedded ProggyTiny is used instead, so the absence is covered. - source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:43-45, source app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:355-394, source app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:527-534" + source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:43-45, source app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:356-395, source app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:528-535" - name: " - .patch.toml" required: false @@ -123,7 +123,7 @@ files: without them, and each entry of the patch array is applied only when its is_enabled flag is set and the module hash matches. Patching is on by default. - source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:17-18, source app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-98, source app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.h:121-122, source app/src/main/cpp/xenia-canary/src/xenia/patcher/patcher.cc:22-35, source app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:308" + source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:17-18, source app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.cc:30-98, source app/src/main/cpp/xenia-canary/src/xenia/patcher/patch_db.h:121-122, source app/src/main/cpp/xenia-canary/src/xenia/patcher/patcher.cc:22-35, source app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:309" - name: plugins.toml required: false @@ -135,7 +135,7 @@ files: name is eight hexadecimal digits. Each entry of the plugin array needs a hash node, and an entry without one is skipped. Plugin loading is off by default, so nothing under plugins is scanned until it is turned on. - source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:16-21, source app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:40-127, source app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:324-325" + source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:16-21, source app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:40-127, source app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:325-326" - name: "<plugin>.xex" required: false @@ -145,7 +145,7 @@ files: The title directory is mounted as the plugins device and each enabled entry whose hash matches the running module is loaded as a user module on its own thread. A directory that cannot be mounted is a fatal error. - source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:175-257, source app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:1900-1903" + source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/patcher/plugin_loader.cc:173-253, source app/src/main/cpp/xenia-canary/src/xenia/emulator.cc:1971-1974" - name: Account size: 404 @@ -161,7 +161,7 @@ files: bytes carry. The application extracts the one it ships for XUID E0300000A360E000 on first run, and the emulator writes its own when a profile is created. - source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:187-229, source app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:39-67, source app/src/main/java/aenu/ax360e/Application.java:30-34, source app/src/main/java/aenu/ax360e/Application.java:92-96" + source_ref: "source app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:201-243, source app/src/main/cpp/xenia-canary/src/xenia/kernel/xam/profile_manager.cc:40-68, source app/src/main/java/aenu/ax360e/Application.java:30-34, source app/src/main/java/aenu/ax360e/Application.java:92-96" exclusion_note: > Six file loads present in the vendored tree are not reached by this build and @@ -179,10 +179,10 @@ exclusion_note: > the library is already mapped and never reads the file. ref: app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_guest_notification.cc:49-60, app/src/main/cpp/emulator_ax360e.cpp:359, - app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:396-427, - app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:429-513, + app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:397-428, + app/src/main/cpp/xenia-canary/src/xenia/ui/imgui_drawer.cc:430-514, app/src/main/cpp/xenia-canary/src/xenia/base/platform.h:34-37, - app/src/main/cpp/CMakeLists.txt:92-132, - app/src/main/cpp/xenia-canary/src/xenia/app/xenia_main.cc:485, + app/src/main/cpp/CMakeLists.txt:94-134, + app/src/main/cpp/xenia-canary/src/xenia/app/xenia_main.cc:491, app/src/main/cpp/xenia-canary/src/xenia/ui/vulkan/spirv_tools_context.cc:28-37, app/src/main/cpp/xenia-canary/src/xenia/ui/renderdoc_api.cc:35-48 diff --git a/emulators/bbkemu.yml b/emulators/bbkemu.yml index 82ef784d8..9df0a2c23 100644 --- a/emulators/bbkemu.yml +++ b/emulators/bbkemu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/BBKEmu" upstream: "https://github.com/AloysHF/BBKEmu" profiled_date: "2026-10-26" -source_commit: "6641863f6ec59a74635753766e3f9d34adf92b05" +source_commit: "0b698480d93b1bbf0717c658d89b551559a2ae3f" core_version: "0.1.0" version_basis: kind: file @@ -23,103 +23,110 @@ notes: | bbkemu-core crate. A .gam game is 6502 code that calls into the dictionary's OS ROM for LCD, keyboard, audio, timer and file services. - Two ROM images are read from the system directory, in one subdirectory - per model: {system}/BBKEmu/<model>/8.BIN, the font ROM mapped at - physical 0x800000-0x9FFFFF, and E.BIN, the OS ROM mapped at - 0xE00000-0xFFFFFF (crates/bbkemu-libretro/src/lib.rs:186-219, - crates/bbkemu-core/src/memory.rs:377-398). The libretro core always - loads content as the A4980 model (crates/bbkemu-libretro/src/lib.rs:491-492), - so only BBKEmu/A4980/ is ever read from RetroArch. The core also accepts - 8.bin, and E.bin or e.bin, when the upper-case name is absent. The - Emscripten build used by EmulatorJS looks in the folder of the content - and its BBKEmu/<model>/ subfolder as well. Both reads are std::fs::read - results taken only when they succeed: a missing file is skipped without - any message to the frontend. The image is copied into a 2 MiB - zero-filled buffer (crates/bbkemu-core/src/memory.rs:197-209), and nothing - checks its size or contents. + Two ROM images are read per model from a fixed layout below the system + directory: bbkemu/<model>/8.BIN, the font ROM mapped at physical + 0x800000-0x9FFFFF, and bbkemu/<model>/E.BIN, the OS ROM mapped at + 0xE00000-0xFFFFFF. The model folder is a4980 or a4988. Every component + is matched byte for byte against the directory entries, so 8.bin, e.bin + or BBKEmu/ are not found, on Windows as well + (crates/bbkemu-core/src/firmware.rs:25-29, + crates/bbkemu-core/src/firmware.rs:38-53, + crates/bbkemu-core/src/memory.rs:377-398). firmware::load reads both + files and fails naming every missing one, and the libretro core then + refuses the content with that message + (crates/bbkemu-core/src/firmware.rs:56-95, + crates/bbkemu-libretro/src/lib.rs:415-427, + crates/bbkemu-libretro/src/lib.rs:807-834). Each image is copied into a + 2 MiB zero-filled buffer (crates/bbkemu-core/src/memory.rs:196-209), and + nothing checks its size or contents. - Without E.BIN, run_os_init (crates/bbkemu-core/src/emulator.rs:231-252) - sets PC to 0x350, reads zeros from the ROM window, never sees - _MTCT=0xFE and gives up after 10 million cycles. The bank registers - stay unmapped and the game exits at its first OS call. Measured by - running run_os_init from bbkemu-core against a dump: 1 092 023 cycles - to completion with E.BIN, timeout without it. Without 8.BIN the font - window reads as 0x00 and every glyph the OS draws is blank, but execution - continues. + The libretro core reads the system directory from the frontend + (crates/bbkemu-libretro/src/lib.rs:233-246) and the model from the + bbkemu_model core option, a4980 by default + (crates/bbkemu-libretro/src/lib.rs:207-208, + crates/bbkemu-libretro/src/lib.rs:430-434). The Emscripten build used by + EmulatorJS takes the root of its virtual filesystem, where the firmware + archive is extracted, and picks the model from the only + bbkemu/<model>/ folder found there + (crates/bbkemu-libretro/src/lib.rs:403-412, + crates/bbkemu-libretro/src/lib.rs:442-479). - The standalone binary takes -8/--rom8 and -e/--rome explicit paths and - otherwise reads system/BBKEmu/<model>/8.BIN and E.BIN relative to the - working directory, --model 4980 (default) or 4988 selecting the - subdirectory (crates/bbkemu/src/main.rs:108-117, crates/bbkemu/src/main.rs:146-170). + The standalone binary reads the same layout below --system-dir, system + relative to the working directory by default, with --model a4980 + (default) or a4988 (crates/bbkemu/src/main.rs:31-33, + crates/bbkemu/src/main.rs:43-45, crates/bbkemu/src/main.rs:135-139). The A4988 model differs by its flash save-area offset and key layout (crates/bbkemu-core/src/emulator.rs:148-153, - crates/bbkemu-libretro/src/lib.rs:640-649). + crates/bbkemu-libretro/src/lib.rs:991-1001). During init the OS maps its own bank at logical bank D: 0xEA8 for the - A4980 OS, 0xE88 for the A4988 OS (crates/bbkemu-core/src/model.rs:11-13). + A4980 OS, 0xE88 for the A4988 OS (crates/bbkemu-core/src/model.rs:14-16). The core never reads that value back: detect_model - (crates/bbkemu-core/src/model.rs:37-49) has no caller. The + (crates/bbkemu-core/src/model.rs:51-63) has no caller. The include_bytes! font in crates/bbkemu-core/src/font.rs is not declared in - lib.rs and is not compiled. Content arrives through the frontend buffer - (need_fullpath = false, crates/bbkemu-libretro/src/lib.rs:429). Save RAM - is the first 0x14000 bytes of the emulated flash - (crates/bbkemu-libretro/src/lib.rs:861-863). + lib.rs and is not compiled. Content is read from its path + (need_fullpath = true, crates/bbkemu-libretro/src/lib.rs:732, + crates/bbkemu-libretro/src/lib.rs:485-490). Save RAM is the first + 0x14000 bytes of the emulated flash + (crates/bbkemu-libretro/src/lib.rs:1277-1278). files: - name: 8.BIN - path: BBKEmu/A4980/8.BIN - standalone_path: system/BBKEmu/A4980/8.BIN + path: bbkemu/a4980/8.BIN + standalone_path: system/bbkemu/a4980/8.BIN system: bbk-longman-4980 size: 2097152 required: true - description: "BBK A-series font ROM" + description: "BBK A-series font ROM, A4980" note: >- - Read whole from {system}/BBKEmu/A4980/8.BIN, or 8.bin, into the 2 MiB - window at physical 0x800000. A missing file is skipped silently, and the window - then reads as 0x00 and text drawn through the OS is blank. No size - or hash check. Size is the window the image fills. - source_ref: "crates/bbkemu-libretro/src/lib.rs:191-215, crates/bbkemu-libretro/src/lib.rs:491-492, crates/bbkemu-core/src/memory.rs:8, crates/bbkemu-core/src/memory.rs:197-202, crates/bbkemu-core/src/memory.rs:384-390, crates/bbkemu/src/main.rs:147-158" + Read whole from {system}/bbkemu/a4980/8.BIN, name matched exactly, into + the 2 MiB window at physical 0x800000. Without it the content is + refused with a missing firmware message. No size or hash check. Size + is the window the image fills. + source_ref: "crates/bbkemu-core/src/firmware.rs:25-29, crates/bbkemu-core/src/firmware.rs:56-95, crates/bbkemu-core/src/memory.rs:8, crates/bbkemu-core/src/memory.rs:196-201, crates/bbkemu-core/src/memory.rs:384-390, crates/bbkemu-libretro/src/lib.rs:415-427, crates/bbkemu/src/main.rs:135-139" - name: E.BIN - path: BBKEmu/A4980/E.BIN - standalone_path: system/BBKEmu/A4980/E.BIN + path: bbkemu/a4980/E.BIN + standalone_path: system/bbkemu/a4980/E.BIN system: bbk-longman-4980 size: 2097152 required: true - description: "BBK A-series OS ROM" + description: "BBK A-series OS ROM, A4980" note: >- - Read whole from {system}/BBKEmu/A4980/E.BIN, or E.bin or e.bin, into the - 2 MiB window at physical 0xE00000. The last 256 bytes also serve as the interrupt - vector page at 0x0300. A missing file is skipped silently, the OS - init loop times out after 10 million cycles and no game runs. No - size or hash check. Size is the window the image fills. - source_ref: "crates/bbkemu-libretro/src/lib.rs:191-212, crates/bbkemu-libretro/src/lib.rs:216-218, crates/bbkemu-libretro/src/lib.rs:491-492, crates/bbkemu-core/src/memory.rs:9, crates/bbkemu-core/src/memory.rs:204-209, crates/bbkemu-core/src/memory.rs:224-226, crates/bbkemu-core/src/memory.rs:391-397, crates/bbkemu-core/src/emulator.rs:231-252, crates/bbkemu/src/main.rs:159-170" + Read whole from {system}/bbkemu/a4980/E.BIN, name matched exactly, into + the 2 MiB window at physical 0xE00000. The last 256 bytes also serve + as the interrupt vector page at 0x0300. Without it the content is + refused with a missing firmware message. No size or hash check. Size + is the window the image fills. + source_ref: "crates/bbkemu-core/src/firmware.rs:25-29, crates/bbkemu-core/src/firmware.rs:56-95, crates/bbkemu-core/src/memory.rs:9, crates/bbkemu-core/src/memory.rs:204-209, crates/bbkemu-core/src/memory.rs:224-226, crates/bbkemu-core/src/memory.rs:391-397, crates/bbkemu-core/src/emulator.rs:231-252, crates/bbkemu-libretro/src/lib.rs:415-427, crates/bbkemu/src/main.rs:135-139" - name: 8.BIN - standalone_path: system/BBKEmu/A4988/8.BIN - mode: standalone + path: bbkemu/a4988/8.BIN + standalone_path: system/bbkemu/a4988/8.BIN system: bbk-longman-4988 size: 2097152 required: true - description: "BBK A-series font ROM, A4988 slot" + description: "BBK A-series font ROM, A4988" note: >- - Read by the standalone binary with --model 4988 from - system/BBKEmu/A4988/8.BIN relative to the working directory. The - libretro core has no model option and never opens this directory. - source_ref: "crates/bbkemu/src/main.rs:108-117, crates/bbkemu/src/main.rs:147-158, crates/bbkemu-core/src/model.rs:28-34" + Read from {system}/bbkemu/a4988/8.BIN when the bbkemu_model core + option or --model selects a4988, or when it is the only model folder + in an EmulatorJS firmware archive. Without it that model refuses the + content. + source_ref: "crates/bbkemu-core/src/firmware.rs:48-53, crates/bbkemu-core/src/model.rs:42-48, crates/bbkemu-libretro/src/lib.rs:207-208, crates/bbkemu-libretro/src/lib.rs:430-434, crates/bbkemu-libretro/src/lib.rs:442-479, crates/bbkemu/src/main.rs:43-45" - name: E.BIN - standalone_path: system/BBKEmu/A4988/E.BIN - mode: standalone + path: bbkemu/a4988/E.BIN + standalone_path: system/bbkemu/a4988/E.BIN system: bbk-longman-4988 size: 2097152 required: true - description: "BBK A-series OS ROM, A4988 slot" + description: "BBK A-series OS ROM, A4988" note: >- - Read by the standalone binary with --model 4988 from - system/BBKEmu/A4988/E.BIN relative to the working directory. The - libretro core has no model option and never opens this directory. - source_ref: "crates/bbkemu/src/main.rs:108-117, crates/bbkemu/src/main.rs:159-170, crates/bbkemu-core/src/model.rs:28-34, crates/bbkemu-core/src/emulator.rs:148-153" + Read from {system}/bbkemu/a4988/E.BIN when the bbkemu_model core + option or --model selects a4988, or when it is the only model folder + in an EmulatorJS firmware archive. Without it that model refuses the + content. + source_ref: "crates/bbkemu-core/src/firmware.rs:48-53, crates/bbkemu-core/src/model.rs:42-48, crates/bbkemu-libretro/src/lib.rs:207-208, crates/bbkemu-libretro/src/lib.rs:430-434, crates/bbkemu-libretro/src/lib.rs:442-479, crates/bbkemu-core/src/emulator.rs:148-153" platform_details: memory_map: diff --git a/emulators/catacombgl.yml b/emulators/catacombgl.yml index 051201f8e..a17d32a5f 100644 --- a/emulators/catacombgl.yml +++ b/emulators/catacombgl.yml @@ -4,7 +4,8 @@ core_classification: game_engine source: "https://github.com/ArnoAnsems/CatacombGL" upstream: "https://github.com/ArnoAnsems/CatacombGL" profiled_date: "2026-10-04" -source_commit: "d11ba549382278cbc67ba6171faf8af338e29f77" +source_commit: "6f243e42fc99b830982cf58bc19bd8a369fe9e6a" +prose_written_at: "6f243e42fc99b830982cf58bc19bd8a369fe9e6a" core_version: "0.5.7 Beta" version_basis: kind: file @@ -31,7 +32,7 @@ notes: | from the table. A release is detected only at score 0, so every file of its table must be present with the listed size. A game whose score is not 0 cannot start: the launch ends in a fatal error naming the offending files - (src/System/CatacombGL.cpp:416-451). No hash is computed. + (src/System/CatacombGL.cpp:411-446). No hash is computed. Folders tried for each release, until one scores 0: the working directory (src/System/Finder.cpp:139-143), the folder stored in the configuration for @@ -44,25 +45,24 @@ notes: | The selection menu groups the releases as "Catacombs Pack (GOG)" (3-D v1.22, Abyss v1.24, Armageddon, Apocalypse), "Shareware" (Abyss v1.12 and v1.13) and "Catacomb 3-D Big Box" (3-D v1.00) (src/Engine/GameSelection.cpp:71-73, - src/System/CatacombGL.cpp:252-280). Abyss v1.12 is scanned like the others - but its menu entry and key are compiled only when CATABYSSV112 is defined; - the build files do not define it (src/System/CatacombGL.cpp:266-271, 313-318). + src/System/CatacombGL.cpp:252-277). Abyss v1.12 is listed and selected with + key 5 like the others (src/System/CatacombGL.cpp:266-268, 310-313). Once a game starts, EGAGRAPH, GAMEMAPS and AUDIO are read through the static tables of each game and a failed open or short read is fatal (src/Engine/EgaGraph.cpp:50-70, src/Engine/AudioRepository.cpp:43-58). The - SHP files are the intro pictures (src/Abyss/IntroViewAbyss.cpp:48-90, - src/Armageddon/IntroViewArmageddon.cpp:27-76, - src/Apocalypse/IntroViewApocalypse.cpp:27-76). Abyss v1.12 uses SDLOGO, + SHP files are the intro pictures, SHP10.ABS, SHP13.ARM and SHP13.APC + being the "back for more" slide (src/Abyss/IntroViewAbyss.cpp:48-94, + src/Armageddon/IntroViewArmageddon.cpp:27-80, + src/Apocalypse/IntroViewApocalypse.cpp:27-80). Abyss v1.12 uses SDLOGO, TITLE, CREDITS, BEGIN and FINALE instead (src/Abyss/IntroViewAbyss.cpp:28-45, - src/Abyss/GameAbyss.cpp:53-58). SHP10.ABS, SHP13.ARM and SHP13.APC are - never opened but belong to the detection tables. + src/Abyss/GameAbyss.cpp:53-58). Catacomb 3-D also reads CONFIG.C3D (474 bytes, written by the DOS game) from the game folder to import its high scores when the port has none of its own (src/Catacomb3D/GameCatacomb3D.cpp:52-57, src/Engine/HighScores.cpp:57-72). Builds defining SAVEDGAMESINDOSFORMAT also import DOS saved games from the - game folder (src/Engine/EngineCore.cpp:123-148). Both are user state. + game folder (src/Engine/EngineCore.cpp:124-149). Both are user state. files: # Catacomb 3-D v1.00 (menu group "Catacomb 3-D Big Box") @@ -127,7 +127,7 @@ files: validation: [size] source_ref: "src/Catacomb3D/GameDetectionCatacomb3D.h:38 (catacomb3Dv122Files)" - # Catacomb Abyss v1.12 (menu group "Shareware", selectable only in builds defining CATABYSSV112) + # Catacomb Abyss v1.12 (menu group "Shareware") - name: "AUDIO.ABS" path: "AUDIO.ABS" category: game_data diff --git a/emulators/citra_canary.yml b/emulators/citra_canary.yml index 89df6d0f7..76b76c263 100644 --- a/emulators/citra_canary.yml +++ b/emulators/citra_canary.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/citra" upstream: "https://github.com/citra-emu/citra" profiled_date: "2026-03-23" source_commit: "5401990a9be46e4497abc92db3d5f2042674303d" +prose_written_at: "5401990a9be46e4497abc92db3d5f2042674303d" source_branch: canary core_version: "canary-82-6-g5401990" version_basis: @@ -43,7 +44,9 @@ notes: | ref: src/citra_libretro/environment.cpp:131 Embedded open-source replacements for shared font, country list, bad word list. - ref: src/core/file_sys/archive_ncch.cpp:142-147 + The Mii data archive has none: when it is missing the core reports + ErrorSystemFiles "Mii Data". + ref: src/core/file_sys/archive_ncch.cpp:132-156 firmware_count absent in .info (= 0). diff --git a/emulators/eka2l1.yml b/emulators/eka2l1.yml index a9ec08407..2225d30db 100644 --- a/emulators/eka2l1.yml +++ b/emulators/eka2l1.yml @@ -7,7 +7,7 @@ source: upstream: "https://github.com/EKA2L1/EKA2L1" profiled_date: "2026-10-27" source_commit: - standalone: "cc30b451eaab3b73930ce0fbf2dabcfc31476e28" + standalone: "6ad873a07ee3d745cd17179026dca247f6d11f6b" libretro: "e39ccac46e631be7470b4f420fb8eebed9c24eca" upstream_commit: libretro: "11f5b6cd141c0884a130ee45743f1f5e17bb1783" @@ -33,11 +33,11 @@ systems: data_root: android: path: "Android/data/com.github.eka2l1/files" - source_ref: "src/emu/android/app/src/main/java/com/github/eka2l1/emu/Emulator.java:135-150, 197, src/emu/android/app/src/main/cpp/src/native-lib.cpp:61-72" + source_ref: "src/emu/android/app/src/main/java/com/github/eka2l1/emu/Emulator.java:183-198, src/emu/android/app/src/main/java/com/github/eka2l1/emu/Emulator.java:245, src/emu/android/app/src/main/cpp/src/native-lib.cpp:118-129" note: "EKA2L1 at the root of shared storage when the app runs with legacy external storage. A working folder chosen in the settings replaces it" ios: path: "Documents/data" - source_ref: "src/emu/ios/App/EKA2L1Bridge.swift:7-9, src/emu/ios/Bridge/IosEmulator.mm:939-941, 971, 986" + source_ref: "src/emu/ios/App/EKA2L1Bridge.swift:7-9, src/emu/ios/Bridge/IosEmulator.mm:1068-1070, src/emu/ios/Bridge/IosEmulator.mm:1100, src/emu/ios/Bridge/IosEmulator.mm:1115" note: "the data-storage folder is this folder itself, so roms and drives sit directly in it. The shipped patch and resources folders are read from the app bundle" windows: path: "<folder of eka2l1_qt.exe>" @@ -62,7 +62,7 @@ notes: | content.cpp passes isolate_drives false to install_firmware and install_rom_with_optional_rpkg, so drives C, D and E are shared between devices. - ref: README.md:20, README.md:29-32, src/emu/CMakeLists.txt:61-62, + ref: README.md:20, README.md:29-32, src/emu/CMakeLists.txt:62-63, CMakeLists.txt:18, .gitlab-ci.yml:17-25, src/emu/libretro/CMakeLists.txt:40-46, src/emu/libretro/src/content.cpp:178-184, src/emu/system/src/installation/rpkg.cpp:208-210, @@ -76,7 +76,7 @@ notes: | list and never checked against a size or a hash. <storage> is the data-storage option, "data" by default, relative to the working directory. ref: src/emu/system/include/system/consts.h:23-25, - src/emu/system/src/epoc.cpp:1486-1494, src/emu/system/src/epoc.cpp:824-848, + src/emu/system/src/epoc.cpp:1487-1495, src/emu/system/src/epoc.cpp:824-848, src/emu/loader/src/rom.cpp:281-299, src/emu/system/src/devices.cpp:177-202, src/emu/config/include/config/options.inl:45 @@ -96,7 +96,7 @@ notes: | src/emu/system/src/installation/rpkg.cpp:132-199, src/emu/system/src/installation/rpkg.cpp:208-255, src/emu/system/src/installation/rpkg.cpp:257-259, - src/emu/system/src/installation/firmware.cpp:290-303, + src/emu/system/src/installation/firmware.cpp:290-293, 303, src/emu/system/src/installation/firmware.cpp:381-406, src/emu/system/src/installation/firmware.cpp:438-441, src/emu/system/src/installation/firmware.cpp:480-515 @@ -156,8 +156,9 @@ notes: | route: its DLL is loaded in place of the image of that name, and with qt-plugin only when the Qt plugin verification data of the original accepts it. goommonitor_general.dll and avkonfep_general.dll are reached by no map: - the Qt and Android frontends copy them over the ROM's own Z:\sys\bin DLL, - from S60v5 and from S60v3 FP1 on. Shaders: + when patch/ holds them, the Qt and Android frontends copy them over the + ROM's own Z:\sys\bin DLL, kept as .bak, from S60v5 and from S60v3 FP1 + on. Shaders: the eight files under resources are compiled by the OpenGL driver at start and an unreadable one leaves the program without source. The upscale filter named in an application's screen-upscale setting is read from @@ -172,14 +173,14 @@ notes: | modules from scripts/eka2l1/; the libretro recipe builds without it. Fonts the user imports live in <storage>/fonts and are added to the font store after the ROM fonts. - ref: src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:445-448, - src/emu/kernel/src/libmanager.cpp:480-508, src/emu/kernel/src/libmanager.cpp:510-561, - src/emu/kernel/src/libmanager.cpp:563-574, src/emu/kernel/src/libmanager.cpp:591-595, - src/emu/kernel/src/libmanager.cpp:702-785, src/emu/kernel/src/libmanager.cpp:1196-1198, - src/emu/qt/src/state.cpp:179-202, - src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:281-299, + ref: src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:468-471, + src/emu/kernel/src/libmanager.cpp:503-531, src/emu/kernel/src/libmanager.cpp:533-584, + src/emu/kernel/src/libmanager.cpp:586-597, src/emu/kernel/src/libmanager.cpp:614-618, + src/emu/kernel/src/libmanager.cpp:725-808, src/emu/kernel/src/libmanager.cpp:1219-1221, + src/emu/qt/src/state.cpp:179-204, + src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:292-310, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189, - src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, + src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/drivers/src/audio/backend/tinysoundfont/player_tsf.cpp:66-77, src/emu/drivers/src/audio/backend/minibae/player_minibae.cpp:86-96, src/emu/config/include/config/options.inl:72-73, @@ -212,7 +213,7 @@ files: whenever the device is selected. Every other phone model needs its own dump, an EKA2 image with its RPKG, or a VPL with its .fpsx images. source_ref: - standalone: "src/emu/system/src/epoc.cpp:1486-1494, src/emu/system/src/epoc.cpp:824-848, src/emu/system/include/system/consts.h:23-25, src/emu/system/src/installation/rpkg.cpp:44-68, src/emu/system/src/installation/rpkg.cpp:196-199, src/emu/qt/src/device_install_dialog.cpp:162-172" + standalone: "src/emu/system/src/epoc.cpp:1487-1495, src/emu/system/src/epoc.cpp:824-848, src/emu/system/include/system/consts.h:23-25, src/emu/system/src/installation/rpkg.cpp:44-68, src/emu/system/src/installation/rpkg.cpp:196-199, src/emu/qt/src/device_install_dialog.cpp:162-172" libretro: "src/emu/libretro/src/main.cpp:92-110, src/emu/libretro/src/content.cpp:129-195, src/emu/libretro/src/main.cpp:173-181, src/emu/system/src/installation/rpkg.cpp:208-255" - name: audiooutputrouting.dll.map @@ -223,7 +224,7 @@ files: required: false bundled: true description: "Export map routing audiooutputrouting.dll to the host" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, cmake/Symbian.cmake:20-31, src/patch/CMakeLists.txt:6" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:533-584, cmake/Symbian.cmake:20-31, src/patch/CMakeLists.txt:6" - name: audiooutputrouting_general.dll size: 845 @@ -233,7 +234,7 @@ files: required: false bundled: true description: "Patched audiooutputrouting.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/audiooutputrouting/group/audiooutputrouting.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:614-618, src/patch/audiooutputrouting/group/audiooutputrouting.dll.map:1" - name: avkonfep_general.dll size: 7720 @@ -243,7 +244,7 @@ files: required: false bundled: true description: "Avkon FEP bridged to the host input method, copied over Z:\\sys\\bin\\avkonfep.dll on S60v3 FP1 and later" - source_ref: "src/emu/qt/src/state.cpp:179-202, src/patch/CMakeLists.txt:5" + source_ref: "src/emu/qt/src/state.cpp:179-204, src/patch/CMakeLists.txt:5" - name: avkonfep_v81a.dll size: 6088 @@ -253,7 +254,7 @@ files: required: false bundled: true description: "FEP bridged to the host input method for EKA1, routed to from hwrfep.fep on Symbian 7.0s" - source_ref: "src/emu/kernel/src/libmanager.cpp:510-523, src/emu/kernel/src/libmanager.cpp:526-543, src/patch/avkonfep/group/hwrfep.fep.map:1, src/patch/avkonfep/group/hwrfep.fep.map:7-9, src/patch/CMakeLists.txt:5" + source_ref: "src/emu/kernel/src/libmanager.cpp:533-546, src/emu/kernel/src/libmanager.cpp:549-566, src/patch/avkonfep/group/hwrfep.fep.map:1, src/patch/avkonfep/group/hwrfep.fep.map:7-9, src/patch/CMakeLists.txt:5" - name: backlightctrl.dll.map size: 372 @@ -263,7 +264,7 @@ files: required: false bundled: true description: "Export map for backlightctrl.dll, bound to the DLL UIDs it names" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/patch/CMakeLists.txt:10" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:481-497, src/patch/CMakeLists.txt:10" - name: backlightctrl_v81a.dll size: 3624 @@ -273,7 +274,7 @@ files: required: false bundled: true description: "Patched backlightctrl.dll built for Symbian 8.1a, routed to on Symbian 6.1, 7.0s and 8.0a: the epoc81 section of the map matches no version name" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/emu/kernel/src/libmanager.cpp:492-507, src/emu/common/src/types.cpp:140-141, src/patch/backlightctrl/group/backlightctrl.dll.map:1-5, src/patch/backlightctrl/group/backlightctrl.dll.map:17, src/patch/backlightctrl/group/backlightctrl.dll.map:29, src/patch/backlightctrl/group/backlightctrl.dll.map:41" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/emu/kernel/src/libmanager.cpp:515-530, src/emu/common/src/types.cpp:140-141, src/patch/backlightctrl/group/backlightctrl.dll.map:1-5, src/patch/backlightctrl/group/backlightctrl.dll.map:17, src/patch/backlightctrl/group/backlightctrl.dll.map:29, src/patch/backlightctrl/group/backlightctrl.dll.map:41" - name: commdb.dll.map size: 67 @@ -283,7 +284,7 @@ files: required: false bundled: true description: "Export map for the in-ROM commdb.dll of Symbian 6" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/patch/CMakeLists.txt:18" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:481-497, src/patch/CMakeLists.txt:18" - name: commdb_v6.dll size: 3980 @@ -293,7 +294,7 @@ files: required: false bundled: true description: "Patched commdb.dll for Symbian 6" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/commdb/group/commdb.dll.map:1-7" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/commdb/group/commdb.dll.map:1-7" - name: ecam.dll.map size: 10152 @@ -303,7 +304,7 @@ files: required: false bundled: true description: "Export map for ecam.dll, the camera API" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:8" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:533-584, src/patch/CMakeLists.txt:8" - name: ecam_general.dll size: 13727 @@ -313,7 +314,7 @@ files: required: false bundled: true description: "Patched ecam.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/ecam/group/ecam.dll.map:1-4" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:614-618, src/patch/ecam/group/ecam.dll.map:1-4" - name: ecam_v81a.dll size: 15648 @@ -323,7 +324,7 @@ files: required: false bundled: true description: "Patched ecam.dll for Symbian 8.1a" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/ecam/group/ecam.dll.map:190-193" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/ecam/group/ecam.dll.map:190-193" - name: goommonitor_general.dll size: 925 @@ -333,7 +334,7 @@ files: required: false bundled: true description: "Global OOM monitor client, copied over Z:\\sys\\bin\\goommonitor.dll on S60v5 and later" - source_ref: "src/emu/qt/src/state.cpp:179-202, src/patch/CMakeLists.txt:15" + source_ref: "src/emu/qt/src/state.cpp:179-204, src/patch/CMakeLists.txt:15" - name: hwrfep.fep.map size: 81 @@ -343,7 +344,7 @@ files: required: false bundled: true description: "Export map for hwrfep.fep on Symbian 7.0s, bound to the UIDs it names and served by avkonfep_v81a.dll through its source key" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/emu/kernel/src/libmanager.cpp:510-523, src/patch/avkonfep/group/hwrfep.fep.map:1-9, src/patch/CMakeLists.txt:5" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:481-497, src/emu/kernel/src/libmanager.cpp:533-546, src/patch/avkonfep/group/hwrfep.fep.map:1-9, src/patch/CMakeLists.txt:5" - name: mediaclientaudio.dll.map size: 48796 @@ -353,7 +354,7 @@ files: required: false bundled: true description: "Export map for mediaclientaudio.dll, CMdaAudioPlayerUtility and friends" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:11" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:533-584, src/patch/CMakeLists.txt:11" - name: mediaclientaudio_general.dll size: 14893 @@ -363,7 +364,7 @@ files: required: false bundled: true description: "Patched mediaclientaudio.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:1-4" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:614-618, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:1-4" - name: mediaclientaudio_v81a.dll size: 24424 @@ -373,7 +374,7 @@ files: required: false bundled: true description: "Patched mediaclientaudio.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:428-431" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/mediaclientaudio/group/mediaclientaudio.dll.map:428-431" - name: mediaclientaudioinputstream.dll.map size: 7489 @@ -383,7 +384,7 @@ files: required: false bundled: true description: "Export map for mediaclientaudioinputstream.dll, served by the mediaclientaudiostream DLLs through its source key" - source_ref: "src/emu/kernel/src/libmanager.cpp:510-523, src/patch/mediaclientaudiostream/group/mediaclientaudioinputstream.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:533-546, src/patch/mediaclientaudiostream/group/mediaclientaudioinputstream.dll.map:1" - name: mediaclientaudiostream.dll.map size: 5027 @@ -393,7 +394,7 @@ files: required: false bundled: true description: "Export map for mediaclientaudiostream.dll" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:12" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:533-584, src/patch/CMakeLists.txt:12" - name: mediaclientaudiostream_general.dll size: 9493 @@ -403,7 +404,7 @@ files: required: false bundled: true description: "Patched mediaclientaudiostream.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:614-618, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" - name: mediaclientaudiostream_v81a.dll size: 11608 @@ -413,7 +414,7 @@ files: required: false bundled: true description: "Patched mediaclientaudiostream.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/mediaclientaudiostream/group/mediaclientaudiostream.dll.map:1" - name: mediaclientvideo.dll.map size: 11393 @@ -423,7 +424,7 @@ files: required: false bundled: true description: "Export map for mediaclientvideo.dll" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:13" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:533-584, src/patch/CMakeLists.txt:13" - name: mediaclientvideo_v100.dll size: 10232 @@ -433,7 +434,7 @@ files: required: false bundled: true description: "Patched mediaclientvideo.dll, routed to from the epoc93fp1, epoc93fp2, epoc94 and epoc100 sections of the map" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:1, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:168, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:335, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:502" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:1, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:168, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:335, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:502" - name: mediaclientvideo_v81a.dll size: 12800 @@ -443,7 +444,7 @@ files: required: false bundled: true description: "Patched mediaclientvideo.dll for Symbian 8.0a and 8.1a" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:669, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:721" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:669, src/patch/mediaclientvideo/group/mediaclientvideo.dll.map:721" - name: postingsurfacefactory.dll.map size: 357 @@ -453,7 +454,7 @@ files: required: false bundled: true description: "Export map for postingsurfacefactory.dll, the video posting surface" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:14" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:533-584, src/patch/CMakeLists.txt:14" - name: postingsurfacefactory_general.dll size: 5450 @@ -463,7 +464,7 @@ files: required: false bundled: true description: "Patched postingsurfacefactory.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/postingsurfacefactory/group/postingsurfacefactory.dll.map:1" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:614-618, src/patch/postingsurfacefactory/group/postingsurfacefactory.dll.map:1" - name: qjpeg.dll.map size: 71 @@ -473,7 +474,7 @@ files: required: false bundled: true description: "Replacement map for the in-ROM Qt JPEG plugin qjpeg.dll: replace and qt-plugin requirements, no export route" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:480, src/emu/kernel/src/libmanager.cpp:563-574, src/patch/qjpeg/group/qjpeg.dll.map:1-6, src/patch/CMakeLists.txt:16" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:503, src/emu/kernel/src/libmanager.cpp:586-597, src/patch/qjpeg/group/qjpeg.dll.map:1-6, src/patch/CMakeLists.txt:16" - name: qjpeg_general.dll size: 6997 @@ -483,7 +484,7 @@ files: required: false bundled: true description: "Qt JPEG plugin decoding on the host, loaded in place of the ROM's qjpeg.dll on EKA2 when the Qt of the ROM accepts it" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:702-785, src/emu/kernel/src/libmanager.cpp:1196-1198, src/patch/qjpeg/group/qjpeg.dll.map:1-6" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:725-808, src/emu/kernel/src/libmanager.cpp:1219-1221, src/patch/qjpeg/group/qjpeg.dll.map:1-6" - name: scdv.dll.map size: 1793 @@ -493,7 +494,7 @@ files: required: false bundled: true description: "Export map for scdv.dll, CFbsDrawDevice and CDirectScreenBitmap" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:510-561, src/patch/CMakeLists.txt:7" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:533-584, src/patch/CMakeLists.txt:7" - name: scdv_general.dll size: 17742 @@ -503,7 +504,7 @@ files: required: false bundled: true description: "Patched scdv.dll, EKA2 versions" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/scdv/group/scdv.dll.map:1-28" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:614-618, src/patch/scdv/group/scdv.dll.map:1-28" - name: scdv_v81a.dll size: 26552 @@ -513,7 +514,7 @@ files: required: false bundled: true description: "Patched scdv.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/scdv/group/scdv.dll.map:29-45" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/scdv/group/scdv.dll.map:29-45" - name: ssl.dll.map size: 78 @@ -523,7 +524,7 @@ files: required: false bundled: true description: "Export map for ssl.dll routed to the host TLS stack, skipped below S60v3 FP1" - source_ref: "src/emu/kernel/src/libmanager.cpp:445-448, src/patch/ssl/group/ssl.dll.map:1-4, src/patch/CMakeLists.txt:17" + source_ref: "src/emu/kernel/src/libmanager.cpp:468-471, src/patch/ssl/group/ssl.dll.map:1-4, src/patch/CMakeLists.txt:17" - name: ssl_general.dll size: 7543 @@ -533,7 +534,7 @@ files: required: false bundled: true description: "Patched ssl.dll, S60v3 FP1 and later" - source_ref: "src/emu/kernel/src/libmanager.cpp:545-561, src/emu/kernel/src/libmanager.cpp:591-595, src/patch/ssl/group/ssl.dll.map:6-9" + source_ref: "src/emu/kernel/src/libmanager.cpp:568-584, src/emu/kernel/src/libmanager.cpp:614-618, src/patch/ssl/group/ssl.dll.map:6-9" - name: vibractrl.dll.map size: 317 @@ -543,7 +544,7 @@ files: required: false bundled: true description: "Export map for vibractrl.dll, bound to the DLL UIDs it names" - source_ref: "src/emu/kernel/src/libmanager.cpp:416-420, src/emu/kernel/src/libmanager.cpp:458-474, src/patch/CMakeLists.txt:9" + source_ref: "src/emu/kernel/src/libmanager.cpp:439-443, src/emu/kernel/src/libmanager.cpp:481-497, src/patch/CMakeLists.txt:9" - name: vibractrl_v81a.dll size: 3716 @@ -553,7 +554,7 @@ files: required: false bundled: true description: "Patched vibractrl.dll for Symbian 8.1a and earlier EKA1 releases" - source_ref: "src/emu/kernel/src/libmanager.cpp:526-543, src/patch/vibractrl/group/vibractrl.dll.map:1-4" + source_ref: "src/emu/kernel/src/libmanager.cpp:549-566, src/patch/vibractrl/group/vibractrl.dll.map:1-4" - name: sprite_norm.vert size: 334 @@ -563,7 +564,7 @@ files: required: true bundled: true description: "Vertex shader shared by the sprite, mask and upscale programs" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:281, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:291, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189, src/emu/qt/CMakeLists.txt:275" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:292, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:302, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189, src/emu/qt/CMakeLists.txt:275" - name: sprite_norm.frag size: 178 @@ -573,7 +574,7 @@ files: required: true bundled: true description: "Fragment shader of the sprite program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:282, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:295, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:293, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:306, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: sprite_mask.frag size: 524 @@ -583,7 +584,7 @@ files: required: true bundled: true description: "Fragment shader of the masked sprite program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:283, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:296, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:294, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:307, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: sprite_upscaled.frag size: 178 @@ -593,7 +594,7 @@ files: required: true bundled: true description: "Fragment shader of the default upscale program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:284, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:297, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-415, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:295, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:308, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-426, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: brush.vert size: 197 @@ -603,7 +604,7 @@ files: required: true bundled: true description: "Vertex shader of the brush program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:285, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:292, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:296, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:303, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: brush.frag size: 103 @@ -613,7 +614,7 @@ files: required: true bundled: true description: "Fragment shader of the brush program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:286, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:298, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:297, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:309, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: pen.vert size: 737 @@ -623,7 +624,7 @@ files: required: true bundled: true description: "Vertex shader of the pen program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:287, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:293, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:298, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:304, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: pen.frag size: 618 @@ -633,7 +634,7 @@ files: required: true bundled: true description: "Fragment shader of the pen program" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:288, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:299, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:298-299, src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:310, src/emu/drivers/src/graphics/backend/ogl/shader_ogl.cpp:184-189" - name: 2xBR.frag size: 2457 @@ -643,7 +644,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 4xBR.frag size: 2915 @@ -653,7 +654,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 4xhq.frag size: 2699 @@ -663,7 +664,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 5xBR-lv2.frag size: 8923 @@ -673,7 +674,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: 5xBR.frag size: 5385 @@ -683,7 +684,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: aacolor.frag size: 2120 @@ -693,7 +694,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: CRT-Hyllian.frag size: 6253 @@ -703,7 +704,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: CRT-Lottes-TV.frag size: 6828 @@ -713,7 +714,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: CRT-Lottes.frag size: 5318 @@ -723,7 +724,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: dot.frag size: 3066 @@ -733,7 +734,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: dot_mobile.frag size: 3060 @@ -743,7 +744,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: dotpsp_color_mobile.frag size: 3677 @@ -753,7 +754,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: fxaa.frag size: 2476 @@ -763,7 +764,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: grayscale.frag size: 336 @@ -773,7 +774,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: inversecolors.frag size: 416 @@ -783,7 +784,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: natural.frag size: 1938 @@ -793,7 +794,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: scanline-emu.frag size: 682 @@ -803,7 +804,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: scanline.frag size: 729 @@ -813,7 +814,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: sharpen.frag size: 408 @@ -823,7 +824,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: zfast_lcd.frag size: 1797 @@ -833,7 +834,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: zfast_lcd_mobile.frag size: 1888 @@ -843,7 +844,7 @@ files: required: false bundled: true description: "Upscale filter selected by an application's filter-shader-path setting" - source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:414-426, src/emu/services/src/window/screen.cpp:628-630, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" + source_ref: "src/emu/drivers/src/graphics/backend/ogl/graphics_ogl.cpp:425-437, src/emu/services/src/window/screen.cpp:595-597, src/emu/qt/src/settings_dialog.cpp:318-319, .gitmodules:70-72, src/emu/qt/CMakeLists.txt:276" - name: defaultbank.sf2 size: 768010 diff --git a/emulators/fsuae.yml b/emulators/fsuae.yml index bea536fb4..5f50e2793 100644 --- a/emulators/fsuae.yml +++ b/emulators/fsuae.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/libretro-fsuae" upstream: "https://github.com/FrodeSolheim/fs-uae" profiled_date: "2026-03-26" source_commit: "089bb69207fe8fa5eec0006d1d759fb6426f4027" -upstream_commit: "f362278ccd4c60991caac3b4d240d4a3f751bea2" +upstream_commit: "79ac88e3727ee4d35d964aa07ad78894b844da27" core_version: "5.0.7" version_basis: kind: file @@ -23,15 +23,15 @@ systems: data_root: windows: path: "%APPDATA%/FS-UAE/Data" - source_ref: "od-fs/fsuae/fsuae-init.c:75-82, 84-117" + source_ref: "od-fs/fsuae/fsuae-init.c:81-88, od-fs/fsuae/fsuae-init.c:90-123" note: "A Portable.ini starting with # FS-UAE in the folder of the executable or one of its parents makes Data beside it the root" macos: path: "~/Library/Application Support/FS-UAE/Data" - source_ref: "od-fs/fsuae/fsuae-init.c:75-82, 84-117" + source_ref: "od-fs/fsuae/fsuae-init.c:81-88, od-fs/fsuae/fsuae-init.c:90-123" note: "A Portable.ini starting with # FS-UAE in the folder of the executable or one of its parents makes Data beside it the root" linux: path: "$XDG_DATA_HOME/FS-UAE/Data, else ~/.local/share/FS-UAE/Data" - source_ref: "od-fs/fsuae/fsuae-init.c:75-82, 84-117" + source_ref: "od-fs/fsuae/fsuae-init.c:81-88, od-fs/fsuae/fsuae-init.c:90-123" note: "A Portable.ini starting with # FS-UAE in the folder of the executable or one of its parents makes Data beside it the root" notes: | @@ -42,8 +42,8 @@ notes: | and the Amiga Forever shared ROM folder. Every .rom, .bin or model-suffixed file up to 8 MB is handed to the emulator with its CRC32 and SHA-1. rom.key is read from the folder of the encrypted ROM being loaded. - ref: od-fs/python/fsuae/services/pathservice.py:47-57, od-fs/python/fsuae/roms/romservice.py:25-75, - od-fs/python/app/app_init.py:83-86, od-fs/fsuae/fsuae-messages.cpp:83-104, rommgr.cpp:2001-2012 + ref: od-fs/Python/fsuae/services/pathservice.py:47-57, od-fs/Python/fsuae/roms/romservice.py:25-75, + od-fs/Python/app/app_init.py:83-86, od-fs/fsuae/fsuae-messages.cpp:83-104, rommgr.cpp:2067-2078 Batocera overrides to bios/amiga/ via --kickstarts_dir (batocera fsuaePaths.py:8, batocera fsuaeGenerator.py:68). Libretro port: scans save_dir/fsuae/Kickstarts/ (frozen at v2.7.15), and reads rom.key there. The base directory is <save_dir>/fsuae, the build @@ -54,16 +54,16 @@ notes: | source sources/src/fs-uae/config.c:128, source libretro/libretro.c:194-206, source libretro/libretro.c:575 - Identification by SHA-1 checksum, not filename (rommgr.cpp:92-151, od-fs/python/fsuae/roms/romservice.py:78-91). - AROS kickstart (1 MB) compiled into binary as fallback for all models (rommgr.cpp:112). - rom.key searched in kickstart dir and multiple fallback paths (rommgr.cpp:1397-1498). + Identification by SHA-1 checksum, not filename (rommgr.cpp:93-152, od-fs/Python/fsuae/roms/romservice.py:78-91). + AROS kickstart (1 MB) compiled into binary as fallback for all models (rommgr.cpp:113). + rom.key searched in kickstart dir and multiple fallback paths (rommgr.cpp:1433-1534). Supported models: A1000, A500, A500+, A600, A1200, A3000, A4000, A4000T, CD32, CDTV. Default model is A500. Each model auto-selects its kickstart via quickstart - mechanism (cfgfile.cpp:9468-9517 for A500, cfgfile.cpp:9732-9791 for dispatch). + mechanism (cfgfile.cpp:9592-9641 for A500, cfgfile.cpp:9856-9915 for dispatch). ROM database shared between standalone and libretro (same WinUAE-derived rommgr.cpp). - Upstream v5.0.7 has a larger database (332 vs ~200 ROM IDs in libretro port). + Upstream v5.0.7 has a larger database (344 vs ~200 ROM IDs in libretro port, rommgr.cpp:101). Also supports Arcadia, ALG, freezer cartridges, SCSI/CPU board ROMs when configured. files: @@ -79,7 +79,7 @@ files: validation: [sha1] mode: both note: "Amiga 500 Kickstart 1.3 r34.5. Default model ROM." - source_ref: "upstream rommgr.cpp:150-151 (id=6, ROMTYPE_KICK)" + source_ref: "upstream rommgr.cpp:151-152 (id=6, ROMTYPE_KICK)" - name: "amiga-os-204.rom" path: "fsuae/Kickstarts/amiga-os-204.rom" @@ -93,7 +93,7 @@ files: validation: [sha1] mode: both note: "Amiga 500+ Kickstart 2.04 r37.175." - source_ref: "upstream rommgr.cpp:158-159 (id=7, ROMTYPE_KICK)" + source_ref: "upstream rommgr.cpp:159-160 (id=7, ROMTYPE_KICK)" - name: "amiga-os-205.rom" path: "fsuae/Kickstarts/amiga-os-205.rom" @@ -107,7 +107,7 @@ files: validation: [sha1] mode: both note: "Amiga 600 Kickstart 2.05 r37.350." - source_ref: "upstream rommgr.cpp:164-165 (id=10, ROMTYPE_KICK)" + source_ref: "upstream rommgr.cpp:165-166 (id=10, ROMTYPE_KICK)" - name: "amiga-os-120.rom" path: "fsuae/Kickstarts/amiga-os-120.rom" @@ -121,7 +121,7 @@ files: validation: [sha1] mode: both note: "Amiga 1000 Kickstart 1.2 r33.180." - source_ref: "upstream rommgr.cpp:148-149 (id=5, ROMTYPE_KICK)" + source_ref: "upstream rommgr.cpp:149-150 (id=5, ROMTYPE_KICK)" - name: "amiga-os-310-a1200.rom" path: "fsuae/Kickstarts/amiga-os-310-a1200.rom" @@ -135,7 +135,7 @@ files: validation: [sha1] mode: both note: "Amiga 1200 Kickstart 3.1 r40.68." - source_ref: "upstream rommgr.cpp:185-186 (id=15, ROMTYPE_KICK)" + source_ref: "upstream rommgr.cpp:186-187 (id=15, ROMTYPE_KICK)" - name: "amiga-os-310-a3000.rom" path: "fsuae/Kickstarts/amiga-os-310-a3000.rom" @@ -149,7 +149,7 @@ files: validation: [sha1] mode: both note: "Amiga 3000 Kickstart 3.1 r40.68." - source_ref: "upstream rommgr.cpp:189-190 (id=61, ROMTYPE_KICK)" + source_ref: "upstream rommgr.cpp:190-191 (id=61, ROMTYPE_KICK)" - name: "amiga-os-310-a4000.rom" path: "fsuae/Kickstarts/amiga-os-310-a4000.rom" @@ -163,7 +163,7 @@ files: validation: [sha1] mode: both note: "Amiga 4000 Kickstart 3.1 r40.68." - source_ref: "upstream rommgr.cpp:195-196 (id=16, ROMTYPE_KICK)" + source_ref: "upstream rommgr.cpp:196-197 (id=16, ROMTYPE_KICK)" - name: "amiga-os-310-cd32.rom" path: "fsuae/Kickstarts/amiga-os-310-cd32.rom" @@ -177,7 +177,7 @@ files: validation: [sha1] mode: both note: "Amiga CD32 Kickstart 3.1 r40.60." - source_ref: "upstream rommgr.cpp:312-313 (id=18, ROMTYPE_KICKCD32)" + source_ref: "upstream rommgr.cpp:324-325 (id=18, ROMTYPE_KICKCD32)" - name: "amiga-ext-310-cd32.rom" path: "fsuae/Kickstarts/amiga-ext-310-cd32.rom" @@ -190,7 +190,7 @@ files: validation: [sha1] mode: both note: "CD32 extended ROM r40.60. Required for CD32 mode." - source_ref: "upstream rommgr.cpp:314-315 (id=19, ROMTYPE_EXTCD32)" + source_ref: "upstream rommgr.cpp:326-327 (id=19, ROMTYPE_EXTCD32)" - name: "cd32fmv.rom" path: "fsuae/Kickstarts/cd32fmv.rom" @@ -203,7 +203,7 @@ files: validation: [sha1] mode: both note: "CD32 Full Motion Video cartridge ROM v40.30. Also accepts v40.22 (391777-01)." - source_ref: "upstream rommgr.cpp:323-326 (id=23/74, ROMTYPE_CD32CART)" + source_ref: "upstream rommgr.cpp:335-338 (id=23/74, ROMTYPE_CD32CART)" - name: "amiga-ext-130-cdtv.rom" path: "fsuae/Kickstarts/amiga-ext-130-cdtv.rom" @@ -216,7 +216,7 @@ files: validation: [sha1] mode: both note: "CDTV extended ROM v1.0. Required for CDTV mode. Also accepts v2.30 and v2.7." - source_ref: "upstream rommgr.cpp:328-329 (id=20, ROMTYPE_EXTCDTV)" + source_ref: "upstream rommgr.cpp:340-341 (id=20, ROMTYPE_EXTCDTV)" - name: "rom.key" path: "fsuae/Kickstarts/rom.key" @@ -227,4 +227,4 @@ files: required: false mode: both note: "Cloanto Amiga Forever decryption key. Enables encrypted ROM loading." - source_ref: "upstream rommgr.cpp:119-124 (ROMTYPE_KEY), upstream rommgr.cpp:1397-1412 (addkeydir)" + source_ref: "upstream rommgr.cpp:120-125 (ROMTYPE_KEY), upstream rommgr.cpp:1433-1448 (addkeydir)" diff --git a/emulators/julius.yml b/emulators/julius.yml index 504f3d47b..b3f549dff 100644 --- a/emulators/julius.yml +++ b/emulators/julius.yml @@ -4,8 +4,17 @@ core_classification: game_engine source: "https://github.com/bvschaik/julius" upstream: "https://github.com/bvschaik/julius" profiled_date: "2026-10-17" -source_commit: "34d1ecd54befb845c0139b371fa8a0438210dac1" -core_version: "1.8.0" +source_commit: "33c777019b2640b847b73815c3b4344cf7bd9576" +prose_written_at: "33c777019b2640b847b73815c3b4344cf7bd9576" +pin_frozen: "Recalbox, the only platform that ships it, builds this revision (Recalbox package/julius/julius.mk:8). Later commits are not part of that build." +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/julius/julius.mk" + variable: JULIUS_VERSION + value: "33c777019b2640b847b73815c3b4344cf7bd9576" +core_version: "1.7.0" version_basis: kind: file path: "CMakeLists.txt" @@ -25,12 +34,12 @@ notes: | The data directory is the command-line argument. pre_init() makes it the base path and runs game_pre_init(). A missing directory shows "Julius requires the original files from Caesar 3" and exits - (ref: src/platform/julius.c:494-507, 586-592). File lookups are + (ref: src/platform/julius.c:488-501, 580-586). File lookups are case-corrected inside that directory. Startup loads, in order, the text and message files c3.eng and c3_mm.eng (c3.rus and c3_mm.rus as the alternative pair) - (ref: src/game/game.c:48-63, src/core/lang.c:142-166), the central + (ref: src/game/game.c:48-63, src/core/lang.c:141-165), the central climate graphics c3.sg2 and c3.555, the barbarian enemy graphics goths.sg2 and goths.555, and c3_model.txt (ref: src/game/game.c:79-104). Any of them missing aborts init. The_empire.555 is loaded with the @@ -50,7 +59,7 @@ files: category: game_data required: true description: "Caesar III install directory" - source_ref: "src/platform/julius.c:494-507" + source_ref: "src/platform/julius.c:488-501" note: "Given on the command line. Every game file is opened by name inside it." - name: "c3.eng" path: "caesar3/c3.eng" @@ -58,7 +67,7 @@ files: category: game_data required: true description: "Caesar III interface text" - source_ref: "src/core/lang.c:24, src/core/lang.c:75-81, src/core/lang.c:142-166" + source_ref: "src/core/lang.c:23, 74-80, 141-165" note: "Rejected when outside MIN_TEXT_SIZE..MAX_TEXT_SIZE. c3.rus replaces it on a Russian install." - name: "c3_mm.eng" path: "caesar3/c3_mm.eng" @@ -66,7 +75,7 @@ files: category: game_data required: true description: "Caesar III message text" - source_ref: "src/core/lang.c:25, src/core/lang.c:130-151, src/core/lang.c:161-166" + source_ref: "src/core/lang.c:24, 129-150, 160-165" note: "Loaded as a pair with c3.eng, and c3_mm.rus replaces it on a Russian install." - name: "c3.sg2" path: "caesar3/c3.sg2" @@ -74,28 +83,28 @@ files: category: game_data required: true description: "Main graphics index, central climate" - source_ref: "src/core/image.c:48-52, src/core/image.c:303-314, src/game/game.c:83-86" + source_ref: "src/core/image.c:48-52, 295-306, src/game/game.c:83-86" - name: "c3.555" path: "caesar3/c3.555" system: "caesar3" category: game_data required: true description: "Main graphics bitmaps, central climate" - source_ref: "src/core/image.c:53-57, src/core/image.c:322-325, src/game/game.c:83-86" + source_ref: "src/core/image.c:53-57, 314-317, src/game/game.c:83-86" - name: "goths.sg2" path: "caesar3/goths.sg2" system: "caesar3" category: game_data required: true description: "Barbarian enemy graphics index" - source_ref: "src/core/image.c:79, src/core/image.c:678-686, src/game/game.c:87-90" + source_ref: "src/core/image.c:79, 667-675, src/game/game.c:87-90" - name: "goths.555" path: "caesar3/goths.555" system: "caesar3" category: game_data required: true description: "Barbarian enemy graphics bitmaps" - source_ref: "src/core/image.c:101, src/core/image.c:692-695, src/game/game.c:87-90" + source_ref: "src/core/image.c:101, 681-684, src/game/game.c:87-90" - name: "c3_model.txt" path: "caesar3/c3_model.txt" system: "caesar3" diff --git a/emulators/mame2003_plus.yml b/emulators/mame2003_plus.yml index e8ca9c588..0d3f09d83 100644 --- a/emulators/mame2003_plus.yml +++ b/emulators/mame2003_plus.yml @@ -5,7 +5,7 @@ source: "https://github.com/libretro/mame2003-plus-libretro" upstream: "https://www.mamedev.org" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-24" -source_commit: "993403d0332946b8aa6abab56fbd9864498790a1" +source_commit: "dff0ba63654f4e93a24182e8aa018b174357a3e8" core_version: null version_basis: kind: none @@ -64,7 +64,8 @@ notes: | Neo Geo uses mame.sm1, mamelo.lo, sfix.sfx naming. PGM uses pgm_p01s.rom naming. ZN-1/ZN-2 sets are named after the board BIOS (coh1000c, coh3002c, ...) and each BIOS set carries the CAT702 key of the main board. Namco System 11 games - run the C76 BIOS from namcoc76.zip. PGM and ST-V have partial support. + run the C76 BIOS from namcoc76.zip, Namco System 22 games the C74 BIOS + from namcoc74.zip. PGM and ST-V have partial support. Data files go in {system_dir}/mame2003-plus/. Samples in samples/ subfolder, artwork in artwork/ subfolder (both per-game ZIPs). hiscore.dat is compiled @@ -81,7 +82,7 @@ files: sha1: "b48347a133ab8f28b9875ab300fea2ffa2f37ebc" md5: "f870afb431df16526e28cd9029b9d949" size: 131926 - source_ref: "src/hiscore.c:15, 102-116, 248, src/cpuexec.c:396-398" + source_ref: "src/hiscore.c:15, 102-116, 248, src/cpuexec.c:402-404" note: >- high score definitions, compiled into binary and spawned on first run. metadata/hiscore.dat of the core repository. The compiled copy @@ -313,7 +314,7 @@ files: category: bios_zip system: sega-stv note: "ST-V (Saturn-based arcade) BIOS, 6 region variants" - source_ref: "src/drivers/stv.c:3742-3768" + source_ref: "src/drivers/stv.c:4186-4210" contents: - name: epr19730.ic8 description: Japan @@ -342,12 +343,12 @@ files: category: bios_zip system: sega-megaplay note: "Mega Play BIOS, 2 versions" - source_ref: "src/drivers/segac2.c:5996-6006" + source_ref: "src/drivers/megaplay.c:981-988, 1210" contents: - name: ep15294.ic2 description: Mega Play BIOS v1 crc32: "aa8dc2d8" - - name: megaplay.bin + - name: epr-a15294.ic2 description: Mega Play BIOS v2 crc32: "f97c68aa" @@ -359,9 +360,9 @@ files: category: bios_zip system: sega-megatech note: "Mega Tech BIOS - menu/instruction screen processor" - source_ref: "src/drivers/segac2.c:5636-5639" + source_ref: "src/drivers/megatech.c:1286-1292, 1591" contents: - - name: epr12664.20 + - name: epr-12664.20 description: Mega Tech BIOS size: 32768 crc32: "f71e9526" @@ -508,7 +509,7 @@ files: category: bios_zip system: zn1-capcom note: "Capcom ZN-1 BIOS" - source_ref: "src/drivers/zn.c:4354-4359, 4368-4381, 7240" + source_ref: "src/drivers/zn.c:3859-3864, src/drivers/zn.c:3873-3886, src/drivers/zn.c:6745" contents: - name: "m534002c-13.ic353" description: BIOS @@ -526,7 +527,7 @@ files: category: bios_zip system: zn2-capcom note: "Capcom ZN-2 BIOS" - source_ref: "src/drivers/zn.c:4361-4366, 4802-4815, 7261" + source_ref: "src/drivers/zn.c:3866-3871, src/drivers/zn.c:4307-4320, src/drivers/zn.c:6766" contents: - name: "m534002c-59.ic353" description: BIOS @@ -544,7 +545,7 @@ files: category: bios_zip system: zn1-taito note: "Taito FX-1 BIOS" - source_ref: "src/drivers/zn.c:6008-6013, 6015-6017, 7348" + source_ref: "src/drivers/zn.c:5513-5518, src/drivers/zn.c:5520-5522, src/drivers/zn.c:6853" contents: - name: "m534002c-14.ic353" description: BIOS @@ -562,7 +563,7 @@ files: category: bios_zip system: zn1-tecmo note: "Tecmo TPS BIOS" - source_ref: "src/drivers/zn.c:5543-5548, 5553-5555, 7313" + source_ref: "src/drivers/zn.c:5048-5053, src/drivers/zn.c:5058-5060, src/drivers/zn.c:6818" contents: - name: "m534002c-61.ic353" description: BIOS @@ -580,7 +581,7 @@ files: category: bios_zip system: zn1-video-system note: "Video System ZN-1 BIOS" - source_ref: "src/drivers/zn.c:5907-5912, 5925-5927, 7336" + source_ref: "src/drivers/zn.c:5412-5417, src/drivers/zn.c:5430-5432, src/drivers/zn.c:6841" contents: - name: "coh-1002v.ic353" description: BIOS @@ -598,7 +599,7 @@ files: category: bios_zip system: zn1-acclaim note: "Acclaim ZN-1 BIOS" - source_ref: "src/drivers/zn.c:6769-6774, 6776-6778, 7304" + source_ref: "src/drivers/zn.c:6274-6279, src/drivers/zn.c:6281-6283, src/drivers/zn.c:6809" contents: - name: "m534002c-15.ic353" description: BIOS @@ -616,7 +617,7 @@ files: category: bios_zip system: zn1-atlus note: "Atlus ZN-1 BIOS" - source_ref: "src/drivers/zn.c:5971-5976, 5978-5980, 7343" + source_ref: "src/drivers/zn.c:5476-5481, src/drivers/zn.c:5483-5485, src/drivers/zn.c:6848" contents: - name: "m534002c-17.ic353" description: BIOS @@ -634,7 +635,7 @@ files: category: bios_zip system: atari-zn1 note: "Time Warner ZN-1 BIOS" - source_ref: "src/drivers/zn.c:6739-6744, 6746-6748, 7293" + source_ref: "src/drivers/zn.c:6244-6249, src/drivers/zn.c:6251-6253, src/drivers/zn.c:6798" contents: - name: "msm27c402zb.ic353" description: BIOS @@ -652,7 +653,7 @@ files: category: bios_zip system: eighting-zn1 note: "Eighting / Raizing ZN-1 BIOS" - source_ref: "src/drivers/zn.c:6447-6452, 6454-6456, 7377" + source_ref: "src/drivers/zn.c:5952-5957, src/drivers/zn.c:5959-5961, src/drivers/zn.c:6882" contents: - name: "m27c402cz-54.ic353" description: BIOS @@ -674,7 +675,7 @@ files: board ROMs and one BIOS EPROM revision from this set: v1 for most, v2 for the Compact Flash games, the MB2011 mod BIOS for the bootlegs. No game loads the MB2009 mod BIOS, only this set does. - source_ref: "src/drivers/zn.c:6877-6899, 6913-6919, 7392" + source_ref: "src/drivers/zn.c:6382-6404, src/drivers/zn.c:6418-6424, src/drivers/zn.c:6897" contents: - name: "m534002c-60.ic353" description: BIOS @@ -722,7 +723,7 @@ files: category: bios_zip system: taito-gnet note: "Taito G-NET (COH-1002T) BIOS, parent of Mawasunda" - source_ref: "src/drivers/zn.c:6900-6911, 6922-6924, 7393" + source_ref: "src/drivers/zn.c:6405-6416, src/drivers/zn.c:6427-6429, src/drivers/zn.c:6898" contents: - name: "m534002c-14.ic353" description: BIOS @@ -754,7 +755,7 @@ files: category: bios_zip system: sega-model2 note: "Model 1 I/O board BIOS, read by Daytona USA and Desert Tank" - source_ref: "src/drivers/model2.c:3321-3324, 3432-3433, 3479-3480, 7030, 7033-7034" + source_ref: "src/drivers/model2.c:3362-3365, src/drivers/model2.c:3473-3474, src/drivers/model2.c:3520-3521, src/drivers/model2.c:7071, src/drivers/model2.c:7074-7075" contents: - name: "epr-14869c.25" description: I/O board Z80 program @@ -767,7 +768,7 @@ files: category: bios_zip system: sega-model2 note: "Model 1 I/O board 2 BIOS, read by Virtua Cop" - source_ref: "src/drivers/model2.c:3326-3329, 3372-3373, 7031-7032" + source_ref: "src/drivers/model2.c:3367-3370, src/drivers/model2.c:3413-3414, src/drivers/model2.c:7072-7073" contents: - name: "epr-17181.6" description: I/O board Z80 program @@ -791,6 +792,22 @@ files: crc32: "399faac7" sha1: "ceb184ef0486caf715dd997101999785f67a40b8" + # --------------------------------------------------------- + # Namco System 22 (namcoc74.zip) + # --------------------------------------------------------- + - name: namcoc74.zip + required: true + category: bios_zip + system: arcade + note: "Namco C74 (M37702) internal BIOS, parent of the System 22 and Super System 22 sets" + source_ref: "src/drivers/namcos22.c:2069-2075, 3724" + contents: + - name: "c74.bin" + description: C74 internal BIOS + size: 16384 + crc32: "a3dce360" + sha1: "8f3248b1890abb2e649927240ae46f73bb171e3b" + # Century Electronics CVS - name: cvs.zip required: true diff --git a/emulators/native32emu.yml b/emulators/native32emu.yml index 4bd95294a..2d0b5843c 100644 --- a/emulators/native32emu.yml +++ b/emulators/native32emu.yml @@ -4,7 +4,7 @@ core_classification: pure_libretro source: "https://github.com/AloysHF/Native32Emu" upstream: "https://github.com/AloysHF/Native32Emu" profiled_date: "2026-10-26" -source_commit: "059fa33c658caa4dbbad140ebf2af1197f9dd778" +source_commit: "c9111273f97c67471358c8d9507a19c7cceb70f5" core_version: "1.4.0" version_basis: kind: file @@ -19,10 +19,14 @@ systems: notes: | Emulator for the Sunplus Native32 game format written in Rust by AloysHF. The libretro core and the native32emu standalone binary share - the native32emu-core crate. Content (.smf, .sgm, .ssl or a .zip - package) is read from its full path (need_fullpath = true, - crates/native32emu-libretro/src/libretro/api.rs:107; - Emulator::from_path, crates/native32emu-core/src/emulator.rs:86-149). + the native32emu-core crate. Content (.smf, .sgm or a .zip package, + crates/native32emu-core/src/content_entry.rs:7) is read from its full + path (need_fullpath = true, + crates/native32emu-libretro/src/libretro/api.rs:128; + Emulator::from_path, crates/native32emu-core/src/emulator.rs:97-174). + An .ssl scene given as content is refused with a message naming the + .smf, .sgm or .zip to start instead + (crates/native32emu-core/src/content_entry.rs:20-26). The header is decrypted with DES keys compiled into the core (crates/native32emu-core/src/header_decryptor.rs:136, crates/native32emu-core/src/des_constants.rs). @@ -36,23 +40,24 @@ notes: | crates/native32emu-core/src/archive_loader.rs:152-211). The Emscripten build receives the archive already extracted by EmulatorJS and switches to the root menu when one exists - (crates/native32emu-libretro/src/libretro/api.rs:146-159, + (crates/native32emu-libretro/src/libretro/api.rs:181-194, crates/native32emu-core/src/archive_loader.rs:112-117). Every later file is resolved relative to the running content and its parent directories, case-insensitively with trailing spaces trimmed (crates/native32emu-core/src/content_loader.rs:73-130): child .smf and - .ssl content (crates/native32emu-core/src/emulator.rs:617-627), .dat - thumbnails for the menu (crates/native32emu-core/src/emulator.rs:565-592), - .mpg cutscenes (crates/native32emu-core/src/emulator.rs:464-480) and - the menu's game listing (crates/native32emu-core/src/file_browser.rs:75-120). - All of them ship inside the game package. Saves are written to - <content>.ssl_sav beside the content. The Emscripten build asks for the - frontend save directory and writes there instead, under a name flattened - from the content path + .ssl content (crates/native32emu-core/src/emulator.rs:735-745), .dat + thumbnails for the menu (crates/native32emu-core/src/emulator.rs:591-618), + .mpg cutscenes (crates/native32emu-core/src/emulator.rs:490-506) and + the menu's game listing (crates/native32emu-core/src/file_browser.rs:117-167). + All of them ship inside the game package. The standalone binary writes + saves to <content>.ssl_sav beside the content. The libretro core asks + for the frontend save directory on every target and writes there, under + a name flattened from the content path, and falls back to beside the + content when the frontend reports none (crates/native32emu-core/src/save_manager.rs:6-26, - crates/native32emu-core/src/save_manager.rs:33-48, - crates/native32emu-libretro/src/libretro/api.rs:194-197, - crates/native32emu-libretro/src/libretro/callbacks.rs:205-222). + crates/native32emu-core/src/save_manager.rs:41-47, + crates/native32emu-libretro/src/libretro/api.rs:228-231, + crates/native32emu-libretro/src/libretro/callbacks.rs:223-240). RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY is defined (crates/native32emu-libretro/src/libretro/constants.rs:42) but nothing diff --git a/emulators/puae2021.yml b/emulators/puae2021.yml index 13490fe13..21f2b370c 100644 --- a/emulators/puae2021.yml +++ b/emulators/puae2021.yml @@ -5,7 +5,7 @@ cores: [puae2021] source: "https://github.com/libretro/libretro-uae/tree/2.6.1" upstream: "https://github.com/GnoStiC/PUAE" profiled_date: "2026-03-24" -source_commit: "151828f14d43bb2b0651327ee19a23b36a7081b2" +source_commit: "5dbac2bf90b2dddf9d3f8d5b2ccad0651f798c1d" core_version: "2.6.1" version_basis: kind: file @@ -34,10 +34,11 @@ notes: | conventions: standard (kick*.A*), Amiga Forever (amiga-os-*.rom), and TOSEC (Kickstart v*.rom). The first valid match is used. - Default kickstart per model (automatic selection): - A500, A500OG, A2000OG, CDTV -> kick34005.A500 (KS 1.3) + Default kickstart per model (automatic selection, + libretro/libretro-core.c:5988-6007): + A500, A500OG, A500ECS, A2000OG, CDTV -> kick34005.A500 (KS 1.3) A500+ -> kick37175.A500 (KS 2.04) - A600 -> kick40063.A600 (KS 3.1) + A600, A600OG -> kick40063.A600 (KS 3.1) A1200, A1200OG -> kick40068.A1200 (KS 3.1) A2000 -> kick40063.A600 (KS 3.1) A4030, A4040 -> kick40068.A4000 (KS 3.1) @@ -68,18 +69,18 @@ notes: | other format works (sources/src/caps/caps.c:37-41, 71-96, 467-487). Data files are read from system/uae_data/, or system/uae/ when uae_data/ - does not exist (libretro/libretro-core.c:747-752). The "Floppy Sound + does not exist (libretro/libretro-core.c:746-751). The "Floppy Sound Type" option picks the floppy drive samples embedded in the core (internal, the default) or the external A500 or LOUD set from that folder - (libretro/libretro-core.c:1850-1864, libretro/libretro-core.c:4124-4152). + (libretro/libretro-core.c:1854-1868, libretro/libretro-core.c:4132-4160). Each sample is drive_<click|spin|spinnd|startup|snatch>_<set>, with .wav appended when the bare name does not open. When none of the five opens, floppy sound is turned off for that drive (sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235). The same folder is scanned for files ending in rom, offered as cartridge images by the Cartridge option. - Source: libretro/libretro-core.h:140-245, libretro/libretro-core.c:5533-5701, - libretro/libretro-core.c:5788-5879 + Source: libretro/libretro-core.h:142-247, libretro/libretro-core.c:5541-5708, + libretro/libretro-core.c:5795-5878 files: # ------------------------------------------------------- @@ -94,7 +95,7 @@ files: aliases: - "amiga-os-110-ntsc.rom" - "Kickstart v1.1 rev 31.34 (1985)(Commodore)(A1000)(NTSC).rom" - source_ref: "libretro/libretro-core.h:170-174" + source_ref: "libretro/libretro-core.h:172-176" - name: "kick32034.A1000" system: commodore-amiga @@ -105,7 +106,7 @@ files: aliases: - "amiga-os-110-pal.rom" - "Kickstart v1.1 rev 32.34 (1986)(Commodore)(A1000)(PAL).rom" - source_ref: "libretro/libretro-core.h:176-179" + source_ref: "libretro/libretro-core.h:178-181" # ------------------------------------------------------- # Amiga 500 / 2000 @@ -120,7 +121,7 @@ files: - "amiga-os-120.rom" - "Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A2000)[!].rom" - "Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A1000-A2000).rom" - source_ref: "libretro/libretro-core.h:182-185" + source_ref: "libretro/libretro-core.h:184-187" - name: "kick34005.A500" system: commodore-amiga @@ -131,7 +132,7 @@ files: - "amiga-os-130.rom" - "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom" - "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV).rom" - source_ref: "libretro/libretro-core.h:187-190" + source_ref: "libretro/libretro-core.h:189-192" - name: "kick37175.A500" system: commodore-amiga @@ -143,7 +144,7 @@ files: - "amiga-os-204.rom" - "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+)[!].rom" - "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+).rom" - source_ref: "libretro/libretro-core.h:192-195" + source_ref: "libretro/libretro-core.h:194-197" # ------------------------------------------------------- # Amiga 600 @@ -157,7 +158,7 @@ files: aliases: - "amiga-os-205-a600.rom" - "Kickstart v2.05 rev 37.350 (1992)(Commodore)(A600HD)[!].rom" - source_ref: "libretro/libretro-core.h:198-201" + source_ref: "libretro/libretro-core.h:200-203" - name: "kick40063.A600" system: commodore-amiga @@ -169,7 +170,7 @@ files: - "amiga-os-310-a600.rom" - "Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000)[!].rom" - "Kickstart v3.1 rev 40.63 (1993)(Commodore)(A500-A600-A2000).rom" - source_ref: "libretro/libretro-core.h:203-206" + source_ref: "libretro/libretro-core.h:205-208" # ------------------------------------------------------- # Amiga 1200 @@ -183,7 +184,7 @@ files: aliases: - "amiga-os-300-a1200.rom" - "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A1200)[!].rom" - source_ref: "libretro/libretro-core.h:209-212" + source_ref: "libretro/libretro-core.h:211-214" - name: "kick40068.A1200" system: commodore-amiga @@ -194,7 +195,7 @@ files: - "amiga-os-310-a1200.rom" - "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200)[!].rom" - "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200).rom" - source_ref: "libretro/libretro-core.h:214-217" + source_ref: "libretro/libretro-core.h:216-219" # ------------------------------------------------------- # Amiga 4000 @@ -208,7 +209,7 @@ files: aliases: - "amiga-os-300-a4000.rom" - "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A4000)[!].rom" - source_ref: "libretro/libretro-core.h:220-223" + source_ref: "libretro/libretro-core.h:222-225" - name: "kick40068.A4000" system: commodore-amiga @@ -219,7 +220,7 @@ files: aliases: - "amiga-os-310-a4000.rom" - "Kickstart v3.1 rev 40.68 (1993)(Commodore)(A4000).rom" - source_ref: "libretro/libretro-core.h:225-228" + source_ref: "libretro/libretro-core.h:227-230" # ------------------------------------------------------- # Commodore CDTV @@ -233,7 +234,7 @@ files: - "amiga-os-130-cdtv-ext.rom" - "CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom" - "CDTV Extended-ROM v1.0 (1992)(Commodore)(CDTV).rom" - source_ref: "libretro/libretro-core.h:231-234" + source_ref: "libretro/libretro-core.h:233-236" # ------------------------------------------------------- # Amiga CD32 @@ -246,7 +247,7 @@ files: aliases: - "amiga-os-310-cd32.rom" - "Kickstart v3.1 rev 40.60 (1993)(Commodore)(CD32).rom" - source_ref: "libretro/libretro-core.h:236-239" + source_ref: "libretro/libretro-core.h:238-241" - name: "kick40060.CD32.ext" system: commodore-amiga-cd32 @@ -256,7 +257,7 @@ files: aliases: - "amiga-os-310-cd32-ext.rom" - "CD32 Extended-ROM rev 40.60 (1993)(Commodore)(CD32).rom" - source_ref: "libretro/libretro-core.h:241-244" + source_ref: "libretro/libretro-core.h:243-246" # ------------------------------------------------------- # WHDLoad support files @@ -265,20 +266,20 @@ files: system: commodore-amiga required: false note: "Amiga Forever ROM decryption key. Copied to saves/WHDLoad/Devs/Kickstarts/ for WHDLoad." - source_ref: "libretro/libretro-core.c:5887-5902" + source_ref: "libretro/libretro-core.c:5886-5901" - name: "WHDLoad.key" system: commodore-amiga required: false unsourceable: "per-user signed registration key, never distributed generically, WHDLoad free since v18.2" note: "WHDLoad license key. Copied to saves/WHDLoad/L/ for registered WHDLoad use." - source_ref: "libretro/libretro-core.c:5903-5918" + source_ref: "libretro/libretro-core.c:5902-5917" - name: "WHDLoad.prefs" system: commodore-amiga required: false note: "WHDLoad preferences. Copied to saves/WHDLoad/S/ when present." - source_ref: "libretro/libretro-core.c:5919-5942" + source_ref: "libretro/libretro-core.c:5918-5941" # ------------------------------------------------------- # CAPS library for IPF floppy images @@ -306,7 +307,7 @@ files: sha1: "34f05541606ee8acd033eadbda082b90051253cc" md5: "6c5b44c1a2bcee664129f850bfe4ed8a" crc32: "27324b7d" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "A500 set, head step. Hashes are those of sources/uae_data/drive_click_A500.wav in the core repository." - name: "drive_spin_A500.wav" @@ -317,7 +318,7 @@ files: sha1: "a117647990e2e9debb7ac65a0db429a59bb630f0" md5: "7401f854a75f9ede18769168ab896a2a" crc32: "5f7cb73b" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "A500 set, motor with a disk. Hashes are those of sources/uae_data/drive_spin_A500.wav in the core repository." - name: "drive_spinnd_A500.wav" @@ -328,7 +329,7 @@ files: sha1: "786cf1cbd8eabaeb150dabb6b8a1aeca0ed71634" md5: "f9d954879fee8e96baa93d6139077cdb" crc32: "2c673174" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "A500 set, motor without a disk. Hashes are those of sources/uae_data/drive_spinnd_A500.wav in the core repository." - name: "drive_startup_A500.wav" @@ -339,7 +340,7 @@ files: sha1: "db8de831a59a44dc6070166e2005c330a793a48d" md5: "aebeacc7e7bc52ef890785c835bec3d0" crc32: "cb552e00" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "A500 set, motor start. Hashes are those of sources/uae_data/drive_startup_A500.wav in the core repository." - name: "drive_snatch_A500.wav" @@ -350,7 +351,7 @@ files: sha1: "b8dd63077e12bdeacd3ad70ba41614dc52aa8023" md5: "1a4b2d6254918ff769f26beeede75655" crc32: "4ac3c05e" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "A500 set, disk insertion. Hashes are those of sources/uae_data/drive_snatch_A500.wav in the core repository." - name: "drive_click_LOUD.wav" @@ -361,7 +362,7 @@ files: sha1: "fa5df7c9fe3ee70cafbe232ff4f453982c6d1ce2" md5: "b64bee23f356635f67fb08b543df9797" crc32: "59069982" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "LOUD set, head step. Hashes are those of sources/uae_data/drive_click_LOUD.wav in the core repository." - name: "drive_spin_LOUD.wav" @@ -372,7 +373,7 @@ files: sha1: "5b1d8c880f8d8fcd9309a7889817611cc27e16e0" md5: "56d8e36a2f04b5e8c5a1f1530cfc886c" crc32: "1969eea0" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "LOUD set, motor with a disk. Hashes are those of sources/uae_data/drive_spin_LOUD.wav in the core repository." - name: "drive_spinnd_LOUD.wav" @@ -383,7 +384,7 @@ files: sha1: "d1709931cfe05b3bd31b6ef3d9697a22c934549b" md5: "43ab05c6d969cb40805970a5b2352875" crc32: "49e72ce7" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "LOUD set, motor without a disk. Hashes are those of sources/uae_data/drive_spinnd_LOUD.wav in the core repository." - name: "drive_startup_LOUD.wav" @@ -394,7 +395,7 @@ files: sha1: "38e63f700ee6a5be71ded6c057267562c00f3e31" md5: "743b4b9f0ca645c4c2a34953b5e01e45" crc32: "d746cc1e" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "LOUD set, motor start. Hashes are those of sources/uae_data/drive_startup_LOUD.wav in the core repository." - name: "drive_snatch_LOUD.wav" @@ -405,14 +406,16 @@ files: sha1: "0417e6e7fee2aebae972ce4d00101a0ce363af32" md5: "40cdf89f35b68cfefd4df5fb0256e02f" crc32: "b015251a" - source_ref: "libretro/libretro-core.c:747-752, libretro/libretro-core.c:4124-4152, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" + source_ref: "libretro/libretro-core.c:746-751, libretro/libretro-core.c:4132-4160, sources/src/driveclick.c:77-104, sources/src/driveclick.c:200-235" note: "LOUD set, disk insertion. Hashes are those of sources/uae_data/drive_snatch_LOUD.wav in the core repository." model_kickstart_map: A500: {kickstart: "kick34005.A500", ext: null} A500OG: {kickstart: "kick34005.A500", ext: null} + A500ECS: {kickstart: "kick34005.A500", ext: null} A500PLUS: {kickstart: "kick37175.A500", ext: null} A600: {kickstart: "kick40063.A600", ext: null} + A600OG: {kickstart: "kick40063.A600", ext: null} A1200: {kickstart: "kick40068.A1200", ext: null} A1200OG: {kickstart: "kick40068.A1200", ext: null} A2000: {kickstart: "kick40063.A600", ext: null} @@ -440,4 +443,4 @@ platform_details: amiga_forever: "amiga-os-{version}.rom" tosec: "Kickstart v{version} rev {rev} ({year})(Commodore)({model}).rom" scan_prefixes: ["kick", "amiga-os", "KS ROM"] - source_ref: "libretro/libretro-core.c:2629-2656" + source_ref: "libretro/libretro-core.c:2632-2661" diff --git a/emulators/ruffle.yml b/emulators/ruffle.yml index 2c91a71db..b8cacfc21 100644 --- a/emulators/ruffle.yml +++ b/emulators/ruffle.yml @@ -4,7 +4,7 @@ core_classification: game_engine source: "https://github.com/ruffle-rs/ruffle" upstream: "https://github.com/ruffle-rs/ruffle" profiled_date: "2026-09-17" -source_commit: "fe6cfc545405b888ebb478ce1c211d63147ca49b" +source_commit: "5701ce3223704e29a98cc636ada73b9d416197d1" core_version: "0.7.1" version_basis: kind: file @@ -43,7 +43,7 @@ notes: | Linux, then falls back to <cache>/ruffle/video/ and fetches the Cisco binary from ciscobinary.openh264.org bz2-compressed into it (video/external/src/decoder/openh264.rs:53-56,113-137,177-195, - desktop/src/player.rs:234-241). Whether the library was already there or was + desktop/src/player.rs:237-244). Whether the library was already there or was just downloaded, its SHA-256 is checked before loading and the size is read only to format the mismatch message (video/external/src/decoder/openh264.rs:139-150), and WelsGetCodecVersion must @@ -52,13 +52,13 @@ notes: | --cache-directory moves it (desktop/src/cli.rs:31-35,148). Without the library the player still starts: ExternalVideoBackend wraps SoftwareVideoBackend, so H.263, Screen Video and VP6 keep decoding and only H.264 streams fail - (video/external/src/backend.rs:41,51-69,73-80). + (video/external/src/backend.rs:41,51-70,73-82,117-126). Text uses system fonts. fontdb::Database::load_system_fonts() fills the database at startup (desktop/src/app.rs:459-460), and both the Flash device fonts and the egui menu bar resolve family names against it and take whatever face the host answers with (desktop/src/backends/ui.rs:321-380, - desktop/src/gui/controller.rs:754-800), device font names case-insensitively. + desktop/src/gui/controller.rs:758-804), device font names case-insensitively. The face is memory-mapped and parsed by Ruffle's own rasterizer unless preferences.toml sets device_font_renderer to freetype, which routes Linux builds through FreetypeFontRenderer instead; @@ -67,12 +67,12 @@ notes: | desktop/src/preferences/read.rs:74-75, desktop/Cargo.toml:84). The families asked for are Times New Roman, Arial, Courier New and their metric-compatible substitutes, plus the CJK, Hebrew, Arabic and Thai faces - (desktop/src/player.rs:361-414, desktop/src/gui/controller.rs:633-707), and + (desktop/src/player.rs:365-418, desktop/src/gui/controller.rs:637-711), and on Unix fontconfig sorts the fallback chain (desktop/src/backends/ui.rs:383-396,556-648). No name, path, size or hash is fixed anywhere. The compiled-in Noto Sans subset sits behind the default_font feature, which the web and exporter crates enable and the desktop build does - not (core/src/player.rs:84-85, core/Cargo.toml:81,94, web/Cargo.toml:63-65, + not (core/src/player.rs:86-87, core/Cargo.toml:81,94, web/Cargo.toml:63-65, exporter/Cargo.toml:16, desktop/Cargo.toml:23), so on the desktop an unmatched family leaves the run without that face rather than falling back to a bundled one. diff --git a/emulators/x1-box.yml b/emulators/x1-box.yml index 17220ac2c..0363cd161 100644 --- a/emulators/x1-box.yml +++ b/emulators/x1-box.yml @@ -5,12 +5,13 @@ source: "https://github.com/izzy2lost/xemu" upstream: "https://github.com/xemu-project/xemu" author: "izzy2lost" profiled_date: "2026-10-26" -source_commit: "e092175b9196438ee2712bf6f45398fe2970b5fe" +source_commit: "57bc6d6840daeb80e6454511aa097aa89760d49c" +prose_written_at: "57bc6d6840daeb80e6454511aa097aa89760d49c" upstream_commit: "26fcbe54f17e496bdf530dad9f237e74e2f943fc" -core_version: "1.3.2" +core_version: "1.3.3" version_basis: kind: tag - tag: "1.3.2" + tag: "1.3.3" distance: 0 display_name: "Microsoft - Xbox (X1 BOX)" cores: @@ -35,7 +36,7 @@ notes: | android/app/build.gradle.kts:49-54, 98, 104, 117, android/app/src/main/AndroidManifest.xml:15-31, android/app/src/main/cpp/CMakeLists.txt:79-80, 902, 911-912, - android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:25-34, + android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:31-40, android/app/src/main/java/com/izzy2lost/x1box/LauncherActivity.kt:41, 99-130 @@ -44,7 +45,7 @@ notes: | disk folder when none is there, and keeps saves in that folder when no disk image is set. ref: android/hakux/core/native/kernel/ex.c:172-225, - android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:36-41 + android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:42-47 The wizard walks four steps: the MCPX boot ROM, the flash ROM, the disk image and a games folder. With the xemu core chosen globally each Next stays @@ -57,9 +58,9 @@ notes: | Those names, the eeprom the wizard never asks for and the disc are written to x1box/xemu.toml under sys.files. The disc is handed to QEMU as a file descriptor through -add-fd and only copied to x1box/dvd.iso when that fails. - ref: android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:66-147, - 173-176, 281-303, 436-484, - android/app/src/main/cpp/xemu_android.cpp:866-870, 949-1082, 1660-1673 + ref: android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:76-157, + 183-186, 305-327, 460-508, + android/app/src/main/cpp/xemu_android.cpp:866-870, 951-1097, 1675-1688 The launcher sends the user back through the wizard whenever the games folder stops resolving, and, when the global core is xemu, whenever the @@ -72,20 +73,28 @@ notes: | 129-168, system/vl.c:3074-3099, 3133-3149, 3160-3174 - The xemu core also emulates the Sega Chihiro arcade board when Chihiro mode - is on, which forces 128 MiB of RAM and keeps the console EEPROM apart as - eeprom_chihiro.bin. The Chihiro BIOS then takes the flash slot, and the - MCPX ROM is not overlaid on it. The media board flash and the baseboard - EEPROMs are looked up by name beside that BIOS, since the Android build - leaves every chihiro.roms path empty. The network board firmware is read - only for a cabinet link, which this build never enables. A Chihiro game is a - netboot image or an extracted folder holding boot.id, both content. - ref: hw/xbox/chihiro/chihiro.c:58-61, hw/xbox/xbox.c:166-176, + The xemu core also emulates the Sega Chihiro arcade board. The machine + follows the game: a disc that is a folder holding boot.id runs as a Chihiro, + which forces 128 MiB of RAM and keeps the console EEPROM apart as + eeprom_chihiro.bin, and anything else as an Xbox. x1box/chihiro_bios.bin + then takes the flash slot, and the MCPX ROM is not overlaid on it. The media + board flash and the baseboard EEPROMs are looked up by name beside that + BIOS, since the Android build leaves every chihiro.roms path empty. The + network board firmware is read only for a cabinet link, which this build + never enables. A Chihiro game is a netboot image, unpacked by the library + into such a folder, or an extracted folder, both content. The hakuX core + runs Chihiro games too, with neither the BIOS nor the media board ROM: it + takes the baseboard EEPROMs from the folder of the flash ROM set for xemu, + else files/chihiro-roms, and its built-in House of the Dead 3 dumps + otherwise. + ref: android/app/src/main/cpp/xemu_android.cpp:978-981, 1009-1021, 1134, + android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:121-145, + hw/xbox/chihiro/chihiro.c:59-62, hw/xbox/xbox.c:166-176, hw/xbox/xbox.c:416-450, system/vl.c:2922-2944, system/vl.c:3152-3156, - hw/xbox/chihiro/chihiro.c:546-559, + hw/xbox/chihiro/chihiro.c:547-560, android/app/src/main/cpp/xemu_settings_android.cc:116-139, android/app/src/main/res/values/strings.xml:157, - android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:3063-3090 + android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:3160-3187 Settings imports a dashboard tree from a ZIP or a folder into the FATX partitions of the configured disk image, C at 0x8CA80000 and E at 0xABE80000, @@ -100,7 +109,7 @@ notes: | ref: android/app/src/main/cpp/xemu_fatx_import.c:51-54, 1838-1853, 1897-1902, 1919-1966, android/app/src/main/java/com/izzy2lost/x1box/XboxInsigniaHelper.kt:10-53, - android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2608-2683 + android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2756-2831 Preparing Insignia turns the NAT backend on and writes the DNS 46.101.64.175 into the config sector of the disk image and into the EEPROM at 0xAC. @@ -114,12 +123,12 @@ notes: | settings both writes and reads back. ref: android/app/src/main/java/com/izzy2lost/x1box/XboxInsigniaHelper.kt:7-8, 62-77, - android/app/src/main/java/com/izzy2lost/x1box/XboxEepromEditor.kt:18, - 164-218, + android/app/src/main/java/com/izzy2lost/x1box/XboxEepromEditor.kt:27, + 176-230, android/app/src/main/java/com/izzy2lost/x1box/XboxHddFormatter.kt:7-16, 46-50, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:51-79, - 1138-1194, 1670-1683 + 1220-1276, 1804-1817 files: - name: mcpx_1.0.bin @@ -142,9 +151,9 @@ files: is dropped. The loader then checks the size a second time and ends the process when it is not 512 bytes. The bytes are read over the last 512 of the flash image and the region stays writable so early retail kernels - keep their cache quirk. In Chihiro mode the image is left as it is, the + keep their cache quirk. For a Chihiro game the image is left as it is, the Chihiro BIOS carrying its own boot code. - source_ref: "source android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:23-25, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:75-99, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:436-484, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:23, source android/app/src/main/res/values/strings.xml:21-23, source system/vl.c:3075-3099, source hw/xbox/xbox.c:151-193" + source_ref: "source android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:23-25, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:85-109, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:460-508, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:23, source android/app/src/main/res/values/strings.xml:22-24, source system/vl.c:3075-3099, source hw/xbox/xbox.c:151-193" - name: Complex_4627.bin required: false @@ -163,7 +172,7 @@ files: the address space. A size that is zero or not a multiple of 64 KB, or a short read, falls back to 256 KB filled with 0xFF. A retail image cannot launch unsigned code, so a debug or modified image is what boots a title. - source_ref: "source system/vl.c:3134-3149, source hw/xbox/xbox.c:72-110, source android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:72, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:101-124, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:512-531" + source_ref: "source system/vl.c:3134-3149, source hw/xbox/xbox.c:72-110, source android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:82, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:111-134, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:536-555" - name: xbox_hdd.qcow2 required: false @@ -179,7 +188,7 @@ files: inside an image that already exists and needs at least 0x1DD156000 bytes for the retail layout. It never creates the image. Partitions C and E of this image are what the dashboard import writes into. - source_ref: "source system/vl.c:3160-3174, source android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:73, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:126-147, source android/app/src/main/java/com/izzy2lost/x1box/XboxHddFormatter.kt:7-16, 46-50, source android/app/src/main/cpp/xemu_android.cpp:1016-1037, source android/app/src/main/java/com/izzy2lost/x1box/LauncherActivity.kt:146-153" + source_ref: "source system/vl.c:3160-3174, source android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:83, android/app/src/main/java/com/izzy2lost/x1box/SetupWizardActivity.kt:136-157, source android/app/src/main/java/com/izzy2lost/x1box/XboxHddFormatter.kt:7-16, 46-50, source android/app/src/main/cpp/xemu_android.cpp:1031-1052, source android/app/src/main/java/com/izzy2lost/x1box/LauncherActivity.kt:146-153" - name: eeprom.bin required: false @@ -198,7 +207,7 @@ files: device. A size other than 256 bytes, or a generation that fails, clears autostart. Preparing Insignia and the EEPROM editor write to it in place. - source_ref: "source system/vl.c:2946-3041, system/vl.c:3122-3132, source android/app/src/main/cpp/xemu_android.cpp:949-951, android/app/src/main/cpp/xemu_android.cpp:868, source android/app/src/main/cpp/xemu_settings_android.cc:274-313, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2986-2989" + source_ref: "source system/vl.c:2946-3041, system/vl.c:3122-3132, source android/app/src/main/cpp/xemu_android.cpp:951-953, android/app/src/main/cpp/xemu_android.cpp:868, source android/app/src/main/cpp/xemu_settings_android.cc:274-313, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:3134-3137" - name: eeprom_chihiro.bin system: sega-chihiro @@ -218,18 +227,22 @@ files: - name: chihiro_xbox_bios.bin system: sega-chihiro required: false - path: "x1box/flash.bin" + path: "x1box/chihiro_bios.bin" config_key: "sys.files.flashrom_path" - size: 524288 + size: [262144, 524288, 1048576] + size_note: "Settings installs a picked file only at one of these sizes. The loader takes it as any flash image." + validation: [size] sha1: "b700b0041af8f84835e45d1d1250247bf7077188" description: "Chihiro BIOS" note: >- - Takes the flash slot in Chihiro mode and is passed as -bios like a - retail image, through the same picker. chihiro_bios_known names this - 512 KB image by its SHA-1, but nothing in this build calls it, so the - hash is not checked. The media board files are then looked up in the - folder of this file. - source_ref: "source hw/xbox/chihiro/chihiro.c:2326-2338, source system/vl.c:3133-3149, source hw/xbox/xbox.c:166-176, source android/app/src/main/res/values/strings.xml:157" + Used by the xemu core only, for a Chihiro game: it then takes the flash + slot in place of flash.bin and is passed as -bios like a retail image. + Without it the game starts with no flash and an error is logged. + Settings copies a picked file into x1box under this name, refusing any + other size. chihiro_bios_known names the 512 KB image by its SHA-1, but + nothing in this build calls it, so the hash is not checked. The media + board files are then looked up in the folder of this file. + source_ref: "source android/app/src/main/java/com/izzy2lost/x1box/ChihiroFiles.kt:18-21, source android/app/src/main/java/com/izzy2lost/x1box/ChihiroFiles.kt:33-36, source android/app/src/main/java/com/izzy2lost/x1box/ChihiroFiles.kt:48-49, source android/app/src/main/java/com/izzy2lost/x1box/ChihiroFiles.kt:58-70, source android/app/src/main/cpp/xemu_android.cpp:1009-1017, source hw/xbox/chihiro/chihiro.c:2327-2339, source system/vl.c:3133-3149, source hw/xbox/xbox.c:166-176, source android/app/src/main/res/values/strings.xml:157" - name: fpr21042_m29w160et.bin system: sega-chihiro @@ -241,11 +254,12 @@ files: note: >- The first of three names tried beside the BIOS, then in its parent folder. Read whole when it is not empty and at most 4 MB. Settings - installs a picked file into x1box under the matching name, or under this - one when the picked name matches none. Without it an error is logged and + installs a picked file of at most 4 MB into x1box under the matching + name, or under this one when the picked name matches none. Only the xemu + core reads it. Without it an error is logged and the media board IDE serves no SEGABOOT. The board serial comes from the MBDT header at 0xFFE00. - source_ref: "source hw/xbox/chihiro/chihiro.c:2305-2324, source hw/xbox/chihiro/chihiro.c:2342-2380, source hw/xbox/chihiro/chihiro.c:537-541, source hw/xbox/xbox.c:423-429, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:3003-3056" + source_ref: "source hw/xbox/chihiro/chihiro.c:2306-2325, source hw/xbox/chihiro/chihiro.c:2343-2381, source hw/xbox/chihiro/chihiro.c:538-542, source hw/xbox/xbox.c:423-429, source android/app/src/main/java/com/izzy2lost/x1box/ChihiroFiles.kt:24-31, source android/app/src/main/java/com/izzy2lost/x1box/ChihiroFiles.kt:52-56" - name: fpr-23887_29lv160te.ic4 system: sega-chihiro @@ -256,7 +270,7 @@ files: validation: [size] description: "Media board flash ROM, later revision" note: "Read in place of fpr21042_m29w160et.bin when that one is absent, under either name." - source_ref: "source hw/xbox/chihiro/chihiro.c:2366-2380" + source_ref: "source hw/xbox/chihiro/chihiro.c:2367-2381" - name: ic10_g24lc64.bin system: sega-chihiro @@ -266,8 +280,8 @@ files: size: 8192 validation: [size] description: "Base board QC EEPROM" - note: "Read beside the BIOS only at exactly 8192 bytes. Otherwise the House of the Dead 3 dump compiled into chihiro-firmware.h stands in." - source_ref: "source hw/xbox/chihiro/chihiro.c:2382-2451, source hw/xbox/xbox.c:433-438, source hw/xbox/chihiro/chihiro-firmware.h:24-25" + note: "Read beside the BIOS only at exactly 8192 bytes. Otherwise the House of the Dead 3 dump compiled into chihiro-firmware.h stands in. The hakuX core reads its first 8192 bytes, when it holds that many, from the folder of the flash ROM set for xemu, else files/chihiro-roms, whichever holds ic10_g24lc64.bin, and falls back to its own House of the Dead 3 copy." + source_ref: "source hw/xbox/chihiro/chihiro.c:2383-2452, source hw/xbox/xbox.c:433-438, source hw/xbox/chihiro/chihiro-firmware.h:24-25, source android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:140-145, source android/hakux/core/native/dev/chihiro.c:555-596" - name: pc20_g24lc64.bin system: sega-chihiro @@ -277,8 +291,8 @@ files: size: 8192 validation: [size] description: "Base board SC EEPROM" - note: "Read beside the BIOS only at exactly 8192 bytes. Otherwise the House of the Dead 3 dump compiled into chihiro-firmware.h stands in." - source_ref: "source hw/xbox/chihiro/chihiro.c:2382-2451, source hw/xbox/xbox.c:439-444, source hw/xbox/chihiro/chihiro-firmware.h:540-541" + note: "Read beside the BIOS only at exactly 8192 bytes. Otherwise the House of the Dead 3 dump compiled into chihiro-firmware.h stands in. The hakuX core reads its first 8192 bytes, when it holds that many, from the folder of the flash ROM set for xemu, else files/chihiro-roms, whichever holds ic10_g24lc64.bin, and falls back to its own House of the Dead 3 copy." + source_ref: "source hw/xbox/chihiro/chihiro.c:2383-2452, source hw/xbox/xbox.c:439-444, source hw/xbox/chihiro/chihiro-firmware.h:540-541, source android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:140-145, source android/hakux/core/native/dev/chihiro.c:555-596" - name: ic11_24lc024.bin system: sega-chihiro @@ -288,8 +302,8 @@ files: size: 128 validation: [size] description: "Base board configuration EEPROM" - note: "Read beside the BIOS only at exactly 128 bytes. Otherwise the House of the Dead 3 dump compiled into chihiro-firmware.h stands in." - source_ref: "source hw/xbox/chihiro/chihiro.c:2382-2451, source hw/xbox/xbox.c:445-450, source hw/xbox/chihiro/chihiro-firmware.h:1056-1057" + note: "Read beside the BIOS only at exactly 128 bytes. Otherwise the House of the Dead 3 dump compiled into chihiro-firmware.h stands in. The hakuX core reads up to 128 bytes of it from the folder it takes ic10_g24lc64.bin from, and falls back to its own House of the Dead 3 copy when the file is absent or empty." + source_ref: "source hw/xbox/chihiro/chihiro.c:2383-2452, source hw/xbox/xbox.c:445-450, source hw/xbox/chihiro/chihiro-firmware.h:1056-1057, source android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:140-145, source android/hakux/core/native/dev/chihiro.c:555-596" - name: xboxdash.xbe required: false @@ -301,9 +315,11 @@ files: dashboard tree. The import treats this name as the boot entry: when it is absent the best scoring .xbe of the tree is copied to it, and the retail boot counts as ready only once the name exists. The start path of the - emulator never reads partition C, and preparing Insignia finishes with a - warning when the name is missing. - source_ref: "source android/app/src/main/cpp/xemu_fatx_import.c:1848-1849, android/app/src/main/cpp/xemu_fatx_import.c:1897-1898, android/app/src/main/cpp/xemu_fatx_import.c:1919-1966, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2608-2639, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2674-2683, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2756, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2774-2776" + xemu core never reads partition C, and preparing Insignia finishes with a + warning when the name is missing. With the hakuX core selected the import + copies the C tree into its disk folder hakux/hdd/Partition2 instead, and + the Dashboard button boots xboxdash.xbe from there. + source_ref: "source android/app/src/main/cpp/xemu_fatx_import.c:1848-1849, android/app/src/main/cpp/xemu_fatx_import.c:1897-1898, android/app/src/main/cpp/xemu_fatx_import.c:1919-1966, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2756-2787, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2822-2831, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2904, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2922-2924, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2534-2550, source android/app/src/main/java/com/izzy2lost/x1box/HakuxLaunch.kt:66-80" - name: msdash.xbe required: false @@ -315,7 +331,7 @@ files: Its presence beside the boot XBE is one of the marks the status line reads to call a dashboard install complete, and it is one of the names that decide which directory of a picked tree is taken as the source root. - source_ref: "source android/app/src/main/cpp/xemu_fatx_import.c:1850-1851, android/app/src/main/cpp/xemu_fatx_import.c:1899-1900, source android/app/src/main/java/com/izzy2lost/x1box/XboxInsigniaHelper.kt:13, 42-50, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2756, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2777-2779" + source_ref: "source android/app/src/main/cpp/xemu_fatx_import.c:1850-1851, android/app/src/main/cpp/xemu_fatx_import.c:1899-1900, source android/app/src/main/java/com/izzy2lost/x1box/XboxInsigniaHelper.kt:13, 42-50, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2904, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2925-2927" - name: xbox.xtf required: false @@ -326,7 +342,7 @@ files: Probed at the root of partition C and imported with the rest of the tree, alongside the xodash, audio, fonts and xboxdashdata.* directories the root scan looks for. - source_ref: "source android/app/src/main/cpp/xemu_fatx_import.c:1838-1846, android/app/src/main/cpp/xemu_fatx_import.c:1852-1853, android/app/src/main/cpp/xemu_fatx_import.c:1901-1902, source android/app/src/main/java/com/izzy2lost/x1box/XboxInsigniaHelper.kt:12, 14-16, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2756, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2780-2781" + source_ref: "source android/app/src/main/cpp/xemu_fatx_import.c:1838-1846, android/app/src/main/cpp/xemu_fatx_import.c:1852-1853, android/app/src/main/cpp/xemu_fatx_import.c:1901-1902, source android/app/src/main/java/com/izzy2lost/x1box/XboxInsigniaHelper.kt:12, 14-16, source android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2904, android/app/src/main/java/com/izzy2lost/x1box/SettingsActivity.kt:2928-2929" - name: "<driver>.zip" required: false @@ -356,7 +372,7 @@ files: mapping goes in through controller_map.txt instead. The revision shipped here is 589031 bytes and is not the one other releases carry under this name. - source_ref: "source android/app/src/main/cpp/xemu_android.cpp:252-253, android/app/src/main/cpp/xemu_android.cpp:283-322, android/app/src/main/cpp/xemu_android.cpp:1529-1534" + source_ref: "source android/app/src/main/cpp/xemu_android.cpp:252-253, android/app/src/main/cpp/xemu_android.cpp:283-322, android/app/src/main/cpp/xemu_android.cpp:1544-1549" - name: X1_Covers.txt required: false @@ -366,7 +382,7 @@ files: Read from the assets and turned into a lookup from normalised game name to a URL under the X1_Covers repository, which the library fetches and caches per title. Only lines ending in .png are kept. - source_ref: "source android/app/src/main/java/com/izzy2lost/x1box/GameLibraryActivity.kt:136, android/app/src/main/java/com/izzy2lost/x1box/GameLibraryActivity.kt:1494-1540" + source_ref: "source android/app/src/main/java/com/izzy2lost/x1box/GameLibraryActivity.kt:139, android/app/src/main/java/com/izzy2lost/x1box/GameLibraryActivity.kt:1583-1629" - name: gamepad_map.txt required: false @@ -388,7 +404,7 @@ exclusion_note: > the Android settings neither set the path nor enable the link. X1_Covers.xml ships in the assets and no code opens it, the library reading X1_Covers.txt instead. - ref: hw/xbox/chihiro/chihiro.c:546-559, + ref: hw/xbox/chihiro/chihiro.c:547-560, android/app/src/main/cpp/xemu_settings_android.cc:124-139, android/app/src/main/assets/X1_Covers.xml, - android/app/src/main/java/com/izzy2lost/x1box/GameLibraryActivity.kt:1500 + android/app/src/main/java/com/izzy2lost/x1box/GameLibraryActivity.kt:1589 diff --git a/platforms/_core_info.json b/platforms/_core_info.json index b8db72614..bef44951f 100644 --- a/platforms/_core_info.json +++ b/platforms/_core_info.json @@ -187,7 +187,7 @@ "mupen64plus_next_develop": "3e39838b6f2893f515ea5ffbea13c6c481400cd3", "mupen64plus_next_gles2": "7244f0c0eae4b58fa4614f6e821bd1ff76d9ae8c", "mupen64plus_next_gles3": "888e3863516ae1ad7795b3c8615aa635551dd7fc", - "native32emu": "c8b84e368952bea94f0710fbf9f6b5559bd6b5ba", + "native32emu": "0049bc5e89344303ac869a58c9d93dd8b3e6886d", "nekop2": "53b91335b9daf398a84757a2b777c5de87cac906", "neocd": "0aae4e07e8ed9b02fbe8a60abe29c1e3484171c1", "nes": "0fbb75c08c902ca7b92d43504caf428235861138",