From 2e5d5e4f7984103d23e138b462b955662ee1a679 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 09:59:45 +0200 Subject: [PATCH 1/8] chore: pin upstream revisions of mame ports Each upstream URL names a mamedev/mame tag; upstream_commit is the commit that tag points at. Every upstream-role ref lands on its declared set name or hash there. --- emulators/cdi2015.yml | 1 + emulators/mame2009.yml | 1 + emulators/mame2010.yml | 1 + emulators/mame2014.yml | 1 + emulators/mame2015.yml | 1 + emulators/mame2016.yml | 1 + emulators/ume2015.yml | 1 + 7 files changed, 7 insertions(+) diff --git a/emulators/cdi2015.yml b/emulators/cdi2015.yml index 02fde949..e703ab99 100644 --- a/emulators/cdi2015.yml +++ b/emulators/cdi2015.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/mame2015-libretro" upstream: "https://github.com/mamedev/mame/tree/mame0160" profiled_date: "2026-03-23" source_commit: "7adbf440d5f554097f58f8c6ebb673adc4320a31" +upstream_commit: "0147bb4cc82e642cf75151f039f240eb20989fbc" core_version: "0.160" display_name: "Philips CDi (CDi 2015)" cores: [cdi2015] diff --git a/emulators/mame2009.yml b/emulators/mame2009.yml index 8d62395d..f78a0c27 100644 --- a/emulators/mame2009.yml +++ b/emulators/mame2009.yml @@ -5,6 +5,7 @@ source: "https://github.com/r-type/mame2009-libretro" upstream: "https://github.com/mamedev/mame/tree/mame0135u4" profiled_date: "2026-03-24" source_commit: "45048806fbc0fea82709a75a523f2eda945e0a47" +upstream_commit: "c285eb9bcd3505c14a338e29f251ba00776cc75c" core_version: "0.135u4" display_name: "Arcade (MAME 2009)" diff --git a/emulators/mame2010.yml b/emulators/mame2010.yml index 20edf39d..26b15b78 100644 --- a/emulators/mame2010.yml +++ b/emulators/mame2010.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/mamedev/mame/tree/mame0139" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-22" source_commit: "dff8aadd1c3f38215af3955746d6e19abe0ddcea" +upstream_commit: "f4f24ba7274010fb8ccb84548b5ca95c2be2f85b" core_version: "0.139" display_name: "Arcade (MAME 2010)" mame_version: "0.139" diff --git a/emulators/mame2014.yml b/emulators/mame2014.yml index 835cee5b..de767d40 100644 --- a/emulators/mame2014.yml +++ b/emulators/mame2014.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/mamedev/mame/tree/mame0160" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-10-20" source_commit: "c8fe6c7399f24466808b67933b2b96feea188e0b" +upstream_commit: "0147bb4cc82e642cf75151f039f240eb20989fbc" core_version: "0.160" display_name: "Arcade (MAME 2014)" mame_version: "0.160" diff --git a/emulators/mame2015.yml b/emulators/mame2015.yml index 816735dc..cd7ca70f 100644 --- a/emulators/mame2015.yml +++ b/emulators/mame2015.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/mamedev/mame/tree/mame0160" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-24" source_commit: "7adbf440d5f554097f58f8c6ebb673adc4320a31" +upstream_commit: "0147bb4cc82e642cf75151f039f240eb20989fbc" core_version: "0.160" display_name: "Arcade (MAME 2015)" mame_version: "0.160" diff --git a/emulators/mame2016.yml b/emulators/mame2016.yml index b6d30f1b..ae67052e 100644 --- a/emulators/mame2016.yml +++ b/emulators/mame2016.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/mamedev/mame/tree/mame0174" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-22" source_commit: "ae07c2f88ff2482ba9f50ffc8c9e7e6fbfe97d0a" +upstream_commit: "68785dccfee3208163c8169abc5c6d01becf36d4" core_version: "0.174" cores: diff --git a/emulators/ume2015.yml b/emulators/ume2015.yml index 71eea26e..8a94a11f 100644 --- a/emulators/ume2015.yml +++ b/emulators/ume2015.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/mamedev/mame/tree/mame0159" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-03-25" source_commit: "7adbf440d5f554097f58f8c6ebb673adc4320a31" +upstream_commit: "6ae44e46f91aa2bd74d9895e6bfd345baebd3d22" core_version: "0.159" display_name: "Multi (UME 2015)" mame_version: "0.159" From e746bf7f18f3788ef9cc7f696b61a95603300b52 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 10:12:08 +0200 Subject: [PATCH 2/8] chore: pin upstream revisions of forked ports upstream_commit is the merge base the compare API gives between each port at its source_commit and the upstream default branch. holani and melonds_ds take the revision their build fetches (tag 0.9.9, and the melonDS branch whose merge base is 906e9ebb). The upstream-role refs land on their declared values there, except mesence bios.col, whose line 70 is in MesenCE's own FirmwareTypeExtensions.cs. --- emulators/armsx2.yml | 1 + emulators/fbalpha2019.yml | 1 + emulators/fbneo.yml | 1 + emulators/groovymame.yml | 1 + emulators/holani.yml | 1 + emulators/kronos.yml | 1 + emulators/melonds_ds.yml | 1 + emulators/mesen-s.yml | 1 + emulators/mesence.yml | 1 + emulators/np2kai.yml | 1 + emulators/scummvm.yml | 1 + emulators/snes9x.yml | 1 + 12 files changed, 12 insertions(+) diff --git a/emulators/armsx2.yml b/emulators/armsx2.yml index da416bae..b9f3c099 100644 --- a/emulators/armsx2.yml +++ b/emulators/armsx2.yml @@ -6,6 +6,7 @@ source: "https://github.com/ARMSX2/ARMSX2" upstream: "https://github.com/PCSX2/pcsx2" profiled_date: "2026-10-04" source_commit: "d383b3636947565d9201f81e32178d0288623d8d" +upstream_commit: "36907f4b70d149b05c2700acae687bedb720a7af" core_version: "2.8" display_name: "Sony - PlayStation 2 (ARMSX2)" cores: diff --git a/emulators/fbalpha2019.yml b/emulators/fbalpha2019.yml index b385302e..2f64305e 100644 --- a/emulators/fbalpha2019.yml +++ b/emulators/fbalpha2019.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/fbalpha" upstream: "https://github.com/barry65536/FBAlpha" profiled_date: "2026-10-17" source_commit: "0581797db6fdffd826086b053ced4b6b29bb6678" +upstream_commit: "416948158d88ba17f87813419ddc3c1209ef68c0" pin_frozen: "ROCKNIX 20261001 builds this revision as fbalpha2019. Later commits on libretro/fbalpha are not part of that build." core_version: "v0.2.97.44" display_name: "Arcade (FB Alpha 2019)" diff --git a/emulators/fbneo.yml b/emulators/fbneo.yml index 77a8c3a0..9028f2c7 100644 --- a/emulators/fbneo.yml +++ b/emulators/fbneo.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/finalburnneo/FBNeo" logo: "https://raw.githubusercontent.com/finalburnneo/FBNeo/master/projectfiles/xcode/Emulator/Assets.xcassets/AppIcon.appiconset/icon_512.png" profiled_date: "2026-03-23" source_commit: "63c4190785cadd5ff84483399375871ed6e98754" +upstream_commit: "8d47450deff3802a61559108f12bb0c846c98e36" core_version: "v1.0.0.2" display_name: "Arcade (FinalBurn Neo)" cores: diff --git a/emulators/groovymame.yml b/emulators/groovymame.yml index 187622a6..604e1215 100644 --- a/emulators/groovymame.yml +++ b/emulators/groovymame.yml @@ -4,6 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/antonioginer/GroovyMAME" upstream: "https://github.com/mamedev/mame" source_commit: "953db38f4aaab1d75faa4ac79e1b45686214f987" +upstream_commit: "f34f02505e32c1993c6a782b6814232cbfc74e36" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-08-08" core_version: "0.288" diff --git a/emulators/holani.yml b/emulators/holani.yml index b85d17c1..ef05f37b 100644 --- a/emulators/holani.yml +++ b/emulators/holani.yml @@ -5,6 +5,7 @@ source: "https://github.com/LLeny/holani-retro" upstream: "https://github.com/LLeny/holani" profiled_date: "2026-03-24" source_commit: "19b974f77247a937369adf48280d2b34a5a66245" +upstream_commit: "4fa0ee920c63a9cf8d07b974ae77fb15161ff967" core_version: "0.9.9" display_name: "Atari - Lynx (Holani)" cores: [holani] diff --git a/emulators/kronos.yml b/emulators/kronos.yml index 9f0a90e9..4f55dc45 100644 --- a/emulators/kronos.yml +++ b/emulators/kronos.yml @@ -6,6 +6,7 @@ source_branch: kronos upstream: "https://github.com/FCare/Kronos" profiled_date: "2026-03-24" source_commit: "3791ffb2221fda61d70aec5cca376418caf05669" +upstream_commit: "d0384bc33aad06bfa9cf5cd308c4bd7ae6cfc814" core_version: "v2.6.0" display_name: "Sega - Saturn/ST-V (Kronos)" cores: diff --git a/emulators/melonds_ds.yml b/emulators/melonds_ds.yml index 64fcd777..066fd054 100644 --- a/emulators/melonds_ds.yml +++ b/emulators/melonds_ds.yml @@ -6,6 +6,7 @@ source: "https://github.com/JesseTG/melonds-ds" upstream: "https://github.com/melonDS-emu/melonDS" profiled_date: "2026-10-04" source_commit: "f394adbacb5722ee97c1b37c8064da9a25818310" +upstream_commit: "906e9ebb27da8c6a715cd7abab4abfe8a8d29427" core_version: "1.4.0" display_name: "Nintendo - DS (melonDS DS)" systems: diff --git a/emulators/mesen-s.yml b/emulators/mesen-s.yml index f23f5035..6bec6c52 100644 --- a/emulators/mesen-s.yml +++ b/emulators/mesen-s.yml @@ -9,6 +9,7 @@ source: "https://github.com/libretro/Mesen-S" upstream: "https://github.com/SourMesen/Mesen-S" profiled_date: "2026-03-24" source_commit: "9e4fdeb9b336470bc96beb8765b2e79c86a2da1e" +upstream_commit: "89199f298a95345a893d814525b6668567a6d490" core_version: "0.4.0" cores: [mesen-s, mesen_s] systems: [nintendo-snes, nintendo-gb, nintendo-gbc, nintendo-super-game-boy, nintendo-satellaview] diff --git a/emulators/mesence.yml b/emulators/mesence.yml index c31bbf94..16b48963 100644 --- a/emulators/mesence.yml +++ b/emulators/mesence.yml @@ -9,6 +9,7 @@ profiled_date: "2026-09-17" source_commit: standalone: "20f497c9620a7f4e55b7752e1d22734f9d7492fa" libretro: "4c4e069f16a8ad6ed79e046046c56d51558c7daf" +upstream_commit: "fabc9a62174f8734a113df6d244f5539ef6b8fcf" core_version: standalone: "2.2.1" libretro: "2.0.0" diff --git a/emulators/np2kai.yml b/emulators/np2kai.yml index e86f43d0..1f2214ab 100644 --- a/emulators/np2kai.yml +++ b/emulators/np2kai.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/NP2kai" upstream: "https://github.com/AZO234/NP2kai" profiled_date: "2026-03-24" source_commit: "1ea561cd7fd62b33f4e7b3f1c2e30fc3e6089f28" +upstream_commit: "5d47f3a04b0b8ea78f625eeec354ac132c80df06" core_version: "0.86" display_name: "NEC - PC-98 (Neko Project II Kai)" cores: [np2kai] diff --git a/emulators/scummvm.yml b/emulators/scummvm.yml index b8ce7478..3d166653 100644 --- a/emulators/scummvm.yml +++ b/emulators/scummvm.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/scummvm/scummvm" logo: "https://raw.githubusercontent.com/scummvm/scummvm/master/icons/scummvm.svg" profiled_date: "2026-03-25" source_commit: "fcbce3ae815269dacdc309092bc92ccc6d3e13bb" +upstream_commit: "fcbce3ae815269dacdc309092bc92ccc6d3e13bb" core_version: "2.8.0git" display_name: "ScummVM" cores: [scummvm] diff --git a/emulators/snes9x.yml b/emulators/snes9x.yml index b488d503..d1dcc1b3 100644 --- a/emulators/snes9x.yml +++ b/emulators/snes9x.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/snes9xgit/snes9x" logo: "https://raw.githubusercontent.com/snes9xgit/snes9x/master/gtk/data/snes9x.svg" profiled_date: "2026-03-25" source_commit: "fae2fea08f74180759ef540ee94259213f503480" +upstream_commit: "85591435763dede7ef111aab8070cdf2d5a7da49" core_version: "1.61" display_name: "Nintendo - SNES / SFC (Snes9x)" systems: [nintendo-snes, nintendo-satellaview, nintendo-sufami-turbo] From 4129536121775c219f3e747caa475332c45cdf0a Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 10:18:07 +0200 Subject: [PATCH 3/8] chore: pin upstream revisions read by date or tag dosbox_pure takes the upstream tag its core_version names (1.0-preview7), triforce the Dolphin release its tree reports (2407). The others take the upstream commit at profiled_date, the revision profile_sync already compared them against: the standalone build for standalone + libretro profiles, and for cannonball and jl-mod the cited lines land there and not at the fork's merge base. Every upstream-role ref lands on its declared value at the pin. --- emulators/81.yml | 1 + emulators/azahar.yml | 1 + emulators/cannonball.yml | 1 + emulators/dolphin-mmjr.yml | 1 + emulators/dolphin-mmjr2.yml | 4 +++- emulators/dolphin.yml | 1 + emulators/dosbox_pure.yml | 1 + emulators/easyrpg.yml | 1 + emulators/fsuae.yml | 1 + emulators/hypseus-singe.yml | 1 + emulators/ishiiruka.yml | 1 + emulators/jl-mod.yml | 1 + emulators/syobonaction.yml | 1 + emulators/triforce.yml | 1 + emulators/uae4arm.yml | 1 + 15 files changed, 17 insertions(+), 1 deletion(-) diff --git a/emulators/81.yml b/emulators/81.yml index ca923ee7..90da855f 100644 --- a/emulators/81.yml +++ b/emulators/81.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/81-libretro" upstream: "https://github.com/charlierobson/EightyOne" profiled_date: "2026-03-22" source_commit: "fa7094910d040baa5fd8b11dbf6a1a618330ecd9" +upstream_commit: "4de3cdb8cff0060ad03e43ae2681b0628a9c5f5d" core_version: "1.0a" display_name: "Sinclair - ZX 81 (EightyOne)" cores: ["81"] diff --git a/emulators/azahar.yml b/emulators/azahar.yml index aed198ab..270b1eac 100644 --- a/emulators/azahar.yml +++ b/emulators/azahar.yml @@ -5,6 +5,7 @@ source: "https://github.com/johndoe6345789/azahar_libretro" upstream: "https://github.com/azahar-emu/azahar" profiled_date: "2026-03-23" source_commit: "9dd12da328c753806cbd4f2b0e048fced97ae97d" +upstream_commit: "9b045bf8370d035cacd99e5ad19a082df9e3b262" core_version: "Git" display_name: "Nintendo - 3DS (Azahar)" cores: [azahar] diff --git a/emulators/cannonball.yml b/emulators/cannonball.yml index 621b7496..9e0a1ebf 100644 --- a/emulators/cannonball.yml +++ b/emulators/cannonball.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/cannonball" upstream: "https://github.com/djyt/cannonball" profiled_date: "2026-03-23" source_commit: "0d83575d920ea4c0a280847a19d7802f673e6a68" +upstream_commit: "27493ebf62be3498dff93ed6a45e8e2db819bae1" core_version: "1.0" display_name: "Cannonball" cores: diff --git a/emulators/dolphin-mmjr.yml b/emulators/dolphin-mmjr.yml index d9c5a874..30434848 100644 --- a/emulators/dolphin-mmjr.yml +++ b/emulators/dolphin-mmjr.yml @@ -5,6 +5,7 @@ source: "https://github.com/acidtech/Dolphin-MMJR" upstream: "https://github.com/weihuoya/dolphin" profiled_date: "2026-08-11" source_commit: "1b095b64857c2eabb49a42cc56ffd9d7881bc263" +upstream_commit: "0f4c971326ae9389b3ad55b0fefacb708d148f4d" core_version: "11460 - bankaimaster999" display_name: "Nintendo - GameCube / Wii (Dolphin MMJR)" cores: diff --git a/emulators/dolphin-mmjr2.yml b/emulators/dolphin-mmjr2.yml index fcce0ee4..d5161f8a 100644 --- a/emulators/dolphin-mmjr2.yml +++ b/emulators/dolphin-mmjr2.yml @@ -5,6 +5,7 @@ source: "https://github.com/nachoverdon/Dolphin-MMJR2" upstream: "https://github.com/dolphin-emu/dolphin" profiled_date: "2026-08-11" source_commit: "4d0fdb8eea616320e967408cf5547c72a95196f3" +upstream_commit: "4ff214cdd26f135251d2266d676ed72dc1c2f8c9" core_version: "2.0-18025" display_name: "Nintendo - GameCube / Wii (Dolphin MMJR2)" cores: @@ -22,7 +23,8 @@ notes: | selective merge of Dolphin Official carrying that label rather than a checkout of it: at Dolphin 5.0-18025 the memory subsystem has already moved behind Core::System, and here it has not, so no single Dolphin revision - matches and no upstream pin is declared. + matches the tree. upstream_commit is the Dolphin revision the upstream + citations were read at, not a base of this tree. ref: Source/Android/app/build.gradle:32, Source/Android/app/build.gradle:135 Two roots. The user directory is mmjr-revamp at the root of external storage. diff --git a/emulators/dolphin.yml b/emulators/dolphin.yml index f7a1a468..3f520166 100644 --- a/emulators/dolphin.yml +++ b/emulators/dolphin.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/dolphin-emu/dolphin" logo: "https://raw.githubusercontent.com/dolphin-emu/dolphin/master/Data/dolphin-emu.svg" profiled_date: "2026-03-23" source_commit: "4d23cf151640eb810cb1b8e9d9fc922cf59c0b87" +upstream_commit: "f5dfb7e3d36ce24551ed0bb886b79f3f192dac9d" core_version: "Git" display_name: "Nintendo - GameCube / Wii (Dolphin)" cores: diff --git a/emulators/dosbox_pure.yml b/emulators/dosbox_pure.yml index eeaa8c51..528f0b63 100644 --- a/emulators/dosbox_pure.yml +++ b/emulators/dosbox_pure.yml @@ -6,6 +6,7 @@ upstream: "https://codeberg.org/schelling/dosbox-pure" logo: "https://raw.githubusercontent.com/schellingb/dosbox-pure/main/images/logo.png" profiled_date: "2026-03-23" source_commit: "cdaea10ce8cac231bc341ca05d4c5e4e5fe0fbd5" +upstream_commit: "cdaea10ce8cac231bc341ca05d4c5e4e5fe0fbd5" core_version: "1.0-preview7" display_name: "DOS (DOSBox-Pure)" cores: [dosbox_pure] diff --git a/emulators/easyrpg.yml b/emulators/easyrpg.yml index 4d5482fa..9a4231f8 100644 --- a/emulators/easyrpg.yml +++ b/emulators/easyrpg.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/easyrpg-libretro" upstream: "https://github.com/EasyRPG/Player" profiled_date: "2026-03-23" source_commit: "a3fbb7c24fd5a39fd95388d09135256a6b19f1e4" +upstream_commit: "8acd2e17c6a8a0a75cb7ce95625c6bdc89aebe1a" core_version: "0.8.1.0" display_name: "RPG Maker 2000/2003 (EasyRPG)" cores: diff --git a/emulators/fsuae.yml b/emulators/fsuae.yml index 2e4ab2db..a5fd235f 100644 --- a/emulators/fsuae.yml +++ b/emulators/fsuae.yml @@ -5,6 +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" core_version: "v5.0.7" display_name: "Commodore - Amiga (FS-UAE)" cores: diff --git a/emulators/hypseus-singe.yml b/emulators/hypseus-singe.yml index 792b2947..eb611232 100644 --- a/emulators/hypseus-singe.yml +++ b/emulators/hypseus-singe.yml @@ -4,6 +4,7 @@ core_classification: enhanced_fork source: "https://github.com/DirtBagXon/hypseus-singe" upstream: "https://github.com/mirror/daphne-emu" source_commit: "cda87965fe0a031d027b2253c6715d37cca6b56a" +upstream_commit: "cd214c6046365047704f8a0563928970b30444e6" profiled_date: "2026-08-08" core_version: "v3.0.0" display_name: "Arcade (Hypseus Singe)" diff --git a/emulators/ishiiruka.yml b/emulators/ishiiruka.yml index fed1148c..9dbe31c7 100644 --- a/emulators/ishiiruka.yml +++ b/emulators/ishiiruka.yml @@ -5,6 +5,7 @@ source: "https://github.com/libretro/ishiiruka" upstream: "https://github.com/Tinob/Ishiiruka" profiled_date: "2026-03-24" source_commit: "f228bde5fbf4861ba749a229803addcd6238663f" +upstream_commit: "cba6d7279b44894297d8c1dde1effdbba3605c32" core_version: "Git" display_name: "Nintendo - GameCube / Wii (Ishiiruka)" cores: diff --git a/emulators/jl-mod.yml b/emulators/jl-mod.yml index ee2c5f5f..c1775e76 100644 --- a/emulators/jl-mod.yml +++ b/emulators/jl-mod.yml @@ -6,6 +6,7 @@ upstream: "https://github.com/nikita36078/J2ME-Loader" author: "Yury Kharchenko" profiled_date: "2026-08-11" source_commit: "f723a190c0bdb44b31c3bc0ead6f8665c7ea517d" +upstream_commit: "c2fdac77edba94709796b67ed5493915f31d620f" core_version: "0.87.1" display_name: "Mobile - J2ME (JL-Mod)" cores: diff --git a/emulators/syobonaction.yml b/emulators/syobonaction.yml index 9200ffed..5b64195e 100644 --- a/emulators/syobonaction.yml +++ b/emulators/syobonaction.yml @@ -5,6 +5,7 @@ source: "https://github.com/iyzsong/syobonaction-libretro" upstream: "https://github.com/akemin-dayo/OpenSyobonAction" profiled_date: "2026-03-25" source_commit: "792c40cb590bcc7286cf720b5fb85807082b534e" +upstream_commit: "77ca2c128784512eca10e24a453ca19c270a8af4" core_version: "0.3" display_name: "Syobon Action" cores: [syobonaction] diff --git a/emulators/triforce.yml b/emulators/triforce.yml index 675a5b44..eab95ad9 100644 --- a/emulators/triforce.yml +++ b/emulators/triforce.yml @@ -5,6 +5,7 @@ source: "https://github.com/REG-Linux/dolphin-triforce" upstream: "https://github.com/dolphin-emu/dolphin" profiled_date: "2026-08-08" source_commit: "5c456e8ff0da0235be2cf1d55ba7bb2115b0cae2" +upstream_commit: "b92e354389bb7c0bd114a8631b8af110d3cb3a14" core_version: "2407" display_name: "Namco / Sega / Nintendo - Triforce (Dolphin Triforce)" cores: diff --git a/emulators/uae4arm.yml b/emulators/uae4arm.yml index a2561b38..cbd2b97d 100644 --- a/emulators/uae4arm.yml +++ b/emulators/uae4arm.yml @@ -6,6 +6,7 @@ source: "https://github.com/libretro/uae4arm-libretro" upstream: "https://github.com/PandTomB/uae4arm" profiled_date: "2026-03-25" source_commit: "26f444f01771f0dfa2fa652906ff8222e92e476e" +upstream_commit: "161ddbaafe90a9747e9fb9c65ee4f38c163f335e" core_version: "v0.5" display_name: "Commodore - Amiga (UAE4ARM)" systems: From a492e68045824ca3dd07fb8f1a3c1b2e8df86801 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 10:34:46 +0200 Subject: [PATCH 4/8] fix: read a tagged upstream at its tag only detect_pinned_tag matched core_version against every view, so an upstream_commit set to the release tag a port was cut from (triforce on Dolphin 2407, dosbox_pure on 1.0-preview7, GroovyMAME on mame0289) froze the whole profile: the port was no longer compared with its HEAD and bump_commit refused. Only the documented build's repository freezes the profile now. An upstream on its tag is self-checked at that tag, is not reported orphaned, and a bump leaves upstream_commit on it. --- scripts/profile_sync.py | 58 +++++++++++++++++++++++++++++++----- tests/test_profile_sync.py | 61 ++++++++++++++++++++++++++++++++++++++ wiki/profiling.md | 5 +++- 3 files changed, 116 insertions(+), 8 deletions(-) diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index b91627d1..743829d4 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -936,6 +936,9 @@ class ProfileReport: upstream_pin: str | None = None upstream_head: str | None = None upstream_origin: str | None = None + # The release tag the upstream view is pinned on, when it is one. That + # view is read at its tag, and a bump leaves upstream_commit there. + upstream_tag: str | None = None # Repositories whose pin is no ancestor of the branch the profile # tracks: history was rewritten, or the pin lies on another branch. orphaned: list[str] = field(default_factory=list) @@ -1291,7 +1294,23 @@ def detect_pinned_tag( The declared `core_version` names the tag, which is looked up by name so that a repository publishing nightly tags cannot hide an old release behind pagination. + + Only the repository of the documented build freezes the profile. An + `upstream` a port was cut from sits on a release tag as its base + (GroovyMAME on mame0289, triforce on Dolphin 2407) while the port itself + keeps moving: that view is judged against its tag by `tag_pinned_views`, + and the port is still compared with its HEAD and still bumped. """ + documented = [view for view in views if view.field != "upstream"] or views + tagged = tag_pinned_views(profile, documented, cache_dir, offline) + return next(iter(tagged.values()), None) + + +def tag_pinned_views( + profile: dict, views: list[RepoView], cache_dir: str, offline: bool +) -> dict[tuple[str, str], str]: + """Views whose pin is the tag `core_version` names, keyed by repository.""" + tagged: dict[tuple[str, str], str] = {} for view in views: if view.pin == view.head: continue @@ -1299,8 +1318,9 @@ def detect_pinned_tag( profile.get("core_version"), view.repo.name ): if upstream.tag_commit(view.repo, tag, cache_dir, offline) == view.pin: - return tag - return None + tagged[(view.repo.host, view.repo.slug)] = tag + break + return tagged def _resolve_project_words( @@ -1484,12 +1504,27 @@ def build_report( report.pinned_tag = frozen or detect_pinned_tag( profile, views, cache_dir, offline ) + # A repository pinned on its release tag is read at that tag, whichever + # role it plays: comparing mame0174 refs with mamedev HEAD says nothing. + tagged = tag_pinned_views(profile, views, cache_dir, offline) + report.upstream_tag = next( + ( + tagged[(view.repo.host, view.repo.slug)] + for view in views + if view.field == "upstream" and (view.repo.host, view.repo.slug) in tagged + ), + None, + ) + + def on_own_revision(view: RepoView) -> bool: + return view.pin == view.head or (view.repo.host, view.repo.slug) in tagged + if not report.pinned_tag: # A tag or a held pin is off the tracked branch by design. report.orphaned = [ f"{view.repo.slug}: pin {view.pin[:8]} is no ancestor of {view.head[:8]}" for view in views - if view.pin != view.head + if not on_own_revision(view) and upstream.compare( view.repo, view.pin, view.head, cache_dir, offline ).diverged @@ -1842,9 +1877,9 @@ def build_report( if report.pinned_tag: return True if not part.role and len(path_roles.get(part.path, ())) > 1: - return all(view.pin == view.head for view in views) + return all(on_own_revision(view) for view in views) view, _ = resolve_path(part.path, part.start, tuple(tokens), role_of(part)) - return view.pin == view.head + return on_own_revision(view) def judge( part: RefPart, flag: bool, tokens: Sequence[str], hashes: Sequence[str] @@ -1877,7 +1912,7 @@ def build_report( # port's 305-356 read past the end of the upstream's 345 # lines. As in a comparison, a ref fails only everywhere. for view in views: - if view is owner or view.pin != view.head: + if view is owner or not on_own_revision(view): continue lines = fetch_from(view.repo, view.pin, part.path) if lines is None: @@ -1994,6 +2029,11 @@ def format_report(report: ProfileReport, changed_only: bool = False) -> str: ) elif report.pin and report.pin == report.head: lines.append(" pin is HEAD: checked for self-consistency") + if report.upstream_tag and not report.pinned_tag: + lines.append( + f" upstream pinned to tag {report.upstream_tag}: checked against " + "its own revision, not against HEAD" + ) for url in report.unread or []: lines.append(f" not read (unsupported host): {url}") for line in report.orphaned: @@ -2837,8 +2877,12 @@ def bump_commit( file=sys.stderr, ) return False + # An upstream pinned on a release tag is the base the port was cut from: + # its HEAD is another program, so the bump leaves it on the tag. upstream_moves = bool( - report.upstream_head and report.upstream_pin != report.upstream_head + report.upstream_head + and report.upstream_pin != report.upstream_head + and not report.upstream_tag ) if document.get("source_commit") == report.head and not upstream_moves: # Rewriting the pin to the value it already holds is not a bump, and diff --git a/tests/test_profile_sync.py b/tests/test_profile_sync.py index dd69ddb3..d1be83f8 100644 --- a/tests/test_profile_sync.py +++ b/tests/test_profile_sync.py @@ -1691,6 +1691,49 @@ class TestBuildReport(unittest.TestCase): report = build_report("test", self._versioned("v0.78"), self.dir) self.assertEqual(report.pinned_tag, "0.78") + def test_an_upstream_on_its_release_tag_does_not_freeze_the_port(self): + """GroovyMAME declares 0.289 and its upstream_commit is the mame0289 + tag. Reading that as a frozen profile stopped every comparison and + bump of the port, which keeps moving. The upstream is read at its tag, + the port against its HEAD.""" + self.files[("portpin", "src/p.c")] = ["x", "load p.bin", "y"] + self.files[("porthead", "src/p.c")] = ["x", "load p.bin", "y"] + self.files[("uppin", "src/u.c")] = ["x", "ROM_LOAD(u.bin)", "y"] + self.files[("uphead", "src/u.c")] = ["x", "", "", "", "y"] + heads = {"o/port": "porthead", "o/up": "uphead"} + profile_sync.upstream.resolve_head = ( + lambda repo, cache, offline=False, branch=None: heads[repo.slug] + ) + # A tag off the tracked branch is not an orphaned pin. + profile_sync.upstream.compare = ( + lambda repo, base, head, cache_dir, offline=False: CompareResult( + [], False, repo.slug == "o/up" + ) + ) + self.tag_commits = {"0.289": "uppin"} + profile = { + "emulator": "Port", + "source": "https://github.com/o/port", + "upstream": "https://github.com/o/up", + "source_commit": "portpin", + "upstream_commit": "uppin", + "core_version": "0.289", + "files": [ + {"name": "p.bin", "source_ref": "source src/p.c:2"}, + {"name": "u.bin", "source_ref": "upstream src/u.c:2"}, + ], + } + report = build_report("port", profile, self.dir) + self.assertIsNone(report.pinned_tag) + self.assertEqual(report.upstream_tag, "0.289") + self.assertEqual(report.orphaned, []) + self.assertEqual( + [entry.status for entry in report.entries], ["ANCHORED", "ANCHORED"] + ) + self.assertIn( + "upstream pinned to tag 0.289", profile_sync.format_report(report) + ) + def test_a_tag_pointing_elsewhere_is_not_flagged(self): self.files[("pinsha", "a.c")] = ["x", "hit"] self.files[("headsha", "a.c")] = ["x", "hit"] @@ -2943,6 +2986,24 @@ class TestBumpCommit(unittest.TestCase): self.assertEqual(rebase_refs(self.path, report), ["a.c:10-12 -> a.c:30-32"]) self.assertTrue(bump_commit(self.path, report)) + def test_an_upstream_on_its_release_tag_stays_there(self): + """GroovyMAME's upstream_commit is the mame0289 tag it merged: a bump + of the port must not carry it to mamedev HEAD, another program.""" + part = PartResult( + RefPart("a.c", 10, 12, "a.c:10-12"), "ANCHORED", None, 10, 12, [] + ) + report = ProfileReport( + name="p", repo="o/n", pin="pin", head="newhead", + entries=[EntryReport("a.bin", "a.c:10-12", "ANCHORED", [part])], + counts={"ANCHORED": 1}, + upstream_pin="uptag", upstream_head="uphead", + upstream_origin="upstream_commit", upstream_tag="mame0289", + ) + self.assertTrue(bump_commit(self.path, report)) + written = yaml.safe_load(self.path.read_text()) + self.assertEqual(written["source_commit"], "newhead") + self.assertNotIn("upstream_commit", written) + def test_upstream_pin_moves_with_source_pin(self): """A recale onto upstream HEAD lines must advance upstream_commit too.""" part = PartResult( diff --git a/wiki/profiling.md b/wiki/profiling.md index 6684eb45..809d79f3 100644 --- a/wiki/profiling.md +++ b/wiki/profiling.md @@ -301,7 +301,10 @@ only hold at one revision, so a few rules keep them checkable. it. - **A frozen line is pinned to its tag.** A profile documenting a release that lives as a tag in a still active repository (`pcsx2-legacy` at PCSX2 v1.6.0) - is checked against its own revision and never rebased onto the head. + is checked against its own revision and never rebased onto the head. An + `upstream` whose pin is the tag `core_version` names (GroovyMAME's base, + `mame0289`) is read at that tag the same way, while the port itself is still + compared with its head, and a bump leaves `upstream_commit` on the tag. - **A fork's base comes from the forge.** `upstream_commit` of a fork is the merge base the compare API returns. A vendored `version.h` can name the project the fork once came from. When a package ships prebuilt binaries From 755030d1e9344187929f7951bc48dfe573f40a69 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 10:34:46 +0200 Subject: [PATCH 5/8] fix: record groovymame as mame 0.289 source_commit 953db38f is the tip of branch groovymame0289, its makefile:1513 writes BARE_BUILD_VERSION "0.289", and the compare with mamedev tag mame0289 is 83 ahead, 0 behind, with no file under src/mame or src/devices. The notes described the earlier pin e3fa1305 (branch groovymame0288). --- emulators/groovymame.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/emulators/groovymame.yml b/emulators/groovymame.yml index 604e1215..b650160c 100644 --- a/emulators/groovymame.yml +++ b/emulators/groovymame.yml @@ -7,7 +7,7 @@ source_commit: "953db38f4aaab1d75faa4ac79e1b45686214f987" upstream_commit: "f34f02505e32c1993c6a782b6814232cbfc74e36" logo: "https://raw.githubusercontent.com/mamedev/mame/master/docs/source/images/MAMElogo.svg" profiled_date: "2026-08-08" -core_version: "0.288" +core_version: "0.289" display_name: "Arcade (GroovyMAME)" cores: @@ -123,13 +123,14 @@ systems: notes: | MAME fork adding Switchres 2.2.2 for CRT modeline generation, frame delay - and low latency vsync. Branch groovymame0288, BARE_BUILD_VERSION 0.288 - (makefile:1508). TARGET := mame with no SUBTARGET override (makefile:274-282), + and low latency vsync. Branch groovymame0289, BARE_BUILD_VERSION 0.289 + (makefile:1513). TARGET := mame with no SUBTARGET override (makefile:274-282), so the build carries the full machine set. - src/mame and src/devices are byte identical to mamedev/mame tag mame0288, - so ROM requirements are MAME 0.288's. The fork's changes sit in src/osd and - 3rdparty/switchres and pull in no external data file: monitor presets are + src/mame and src/devices are byte identical to mamedev/mame tag mame0289, + so ROM requirements are MAME 0.289's. The fork's changes sit in src/osd, + src/emu, src/frontend, 3rdparty/switchres, 3rdparty/emusync and + 3rdparty/lz4, and pull in no external data file: monitor presets are compiled in (3rdparty/switchres/monitor.cpp:124-145), and switchres.ini plus display#.ini are optional user configuration read only when the switchres_ini option is set (src/osd/modules/switchres/switchres_module.cpp:166,173). From cc550c21e728899511585b94840e7eac4251e4b0 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 10:34:54 +0200 Subject: [PATCH 6/8] fix: cite port refs in the port's repository These refs were labelled upstream but land in the port at source_commit: flycast sb_mem.cpp:55-59,196-231, reios.cpp:737 and naomi_roms.h:87-94 in libretro/flycast@bde196bf (filestream_open, get_rom_names), lrps2 BiosTools.cpp:189-229,339-340 and CDVD.cpp:196-245 in libretro/ps2@6eabf224 (RETRO_VFS reads absent from PCSX2), mesence bios.col at FirmwareTypeExtensions.cs:70 in MesenCE@20f497c9 (line 62 in Mesen2). --- emulators/flycast.yml | 10 +++++----- emulators/lrps2.yml | 8 ++++---- emulators/mesence.yml | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/emulators/flycast.yml b/emulators/flycast.yml index c1abd8ac..a764465a 100644 --- a/emulators/flycast.yml +++ b/emulators/flycast.yml @@ -68,7 +68,7 @@ files: hle_fallback: true size: 2097152 note: "Dreamcast boot ROM. HLE BIOS (reios) used as fallback. Code searches prefix + boot.bin, boot.bin.bin, bios.bin, bios.bin.bin sequentially." - source_ref: "upstream core/hw/holly/sb_mem.cpp:219, 55-57" + source_ref: "source core/hw/holly/sb_mem.cpp:219, 55-57" - name: "dc_nvmem.bin" path: "dc/dc_nvmem.bin" @@ -78,14 +78,14 @@ files: hle_fallback: true size: 131072 note: "Dreamcast flash memory / NVRAM. Created if not found. Code searches prefix + nvmem.bin, flash_wb.bin, flash.bin, flash.bin.bin sequentially." - source_ref: "upstream core/hw/holly/sb_mem.cpp:231, 196-213" + source_ref: "source core/hw/holly/sb_mem.cpp:231, 196-213" - name: "font.bin" path: "dc/font.bin" system: sega-dreamcast required: false note: "Dreamcast system font for HLE BIOS text rendering. Built-in font used as fallback." - source_ref: "upstream core/reios/reios.cpp:737-753" + source_ref: "source core/reios/reios.cpp:737-753" # ------------------------------------------------------- # Sega NAOMI @@ -97,7 +97,7 @@ files: required: false size: 2097152 note: "NAOMI boot ROM (flat binary). Alternative to naomi.zip. epr-21576d.bin is searched without prefix." - source_ref: "upstream core/hw/holly/sb_mem.cpp:219, 58-59" + source_ref: "source core/hw/holly/sb_mem.cpp:219, 58-59" - name: "naomi.zip" path: "dc/naomi.zip" @@ -169,7 +169,7 @@ files: system: sega-atomiswave required: true note: "Atomiswave system BIOS archive (MAME format). Contains bios0.ic23 (Sammy, 128 KB)." - source_ref: "upstream core/hw/naomi/naomi_roms.h:87-94" + source_ref: "source core/hw/naomi/naomi_roms.h:87-94" contents: - name: "bios0.ic23" size: 131072 diff --git a/emulators/lrps2.yml b/emulators/lrps2.yml index facc380a..8aad8b6b 100644 --- a/emulators/lrps2.yml +++ b/emulators/lrps2.yml @@ -57,7 +57,7 @@ files: required: false max_size: 4194304 description: "DVD player ROM" - source_ref: "upstream pcsx2/ps2/BiosTools.cpp:189-229, 339" + source_ref: "source pcsx2/ps2/BiosTools.cpp:189-229, 339" note: > DVD player ROM. Tries .rom1 (appended) then .rom1 (extension replaced). Silently skipped if not found. @@ -67,7 +67,7 @@ files: required: false max_size: 524288 description: "Chinese ROM extension" - source_ref: "upstream pcsx2/ps2/BiosTools.cpp:189-229, 340" + source_ref: "source pcsx2/ps2/BiosTools.cpp:189-229, 340" note: > Chinese region ROM extension. Same naming convention as rom1. Only present on Chinese region consoles. @@ -78,7 +78,7 @@ files: hle_fallback: true size: 1024 description: "NVRAM / EEPROM data" - source_ref: "upstream pcsx2/CDVD/CDVD.cpp:196-227" + source_ref: "source pcsx2/CDVD/CDVD.cpp:196-227" note: > Console EEPROM data (language, timezone, region, iLink ID, OSD settings). Path derived from BIOS path with extension replaced to .nvm. @@ -90,7 +90,7 @@ files: hle_fallback: true size: 4 description: "Mechacon version" - source_ref: "upstream pcsx2/CDVD/CDVD.cpp:229-245" + source_ref: "source pcsx2/CDVD/CDVD.cpp:229-245" note: > Mechacon (disc drive controller) version as u32. Auto-created with default 0x00020603 if missing. diff --git a/emulators/mesence.yml b/emulators/mesence.yml index 16b48963..0ea80bc6 100644 --- a/emulators/mesence.yml +++ b/emulators/mesence.yml @@ -621,7 +621,7 @@ files: validation: [size] sha256: "990bf1956f10207d8781b619eb74f89b00d921c8d45c95c334c16c8cceca09ad,fb4a898eb93b19b36773d87a6c70eb28f981b2686bebdd2d431b05dcdf9cffd4" note: "ColecoVision BIOS, NTSC or PAL console dump. The system boots through it, and games cannot start without it." - source_ref: "source Core/SMS/SmsConsole.cpp:71-74, source Core/Shared/FirmwareHelper.h:381-398, upstream UI/Interop/FirmwareTypeExtensions.cs:70" + source_ref: "source Core/SMS/SmsConsole.cpp:71-74, source Core/Shared/FirmwareHelper.h:381-398, source UI/Interop/FirmwareTypeExtensions.cs:70" # ------------------------------------------------------- # WonderSwan (standalone only: UseBootRom is never set by the libretro port) From 4dbf3babcb3119439ce99879692f6115793685fc Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 10:34:54 +0200 Subject: [PATCH 7/8] fix: cite eightyone files from the repo root EightyOne/Source/ROMs/... answers 404 at charlierobson/EightyOne@4de3cdb8. Source/ROMs/{FDCs/interface1.edition1,spectrum48.arabic,tk90,tk95}.rom hash to the md5 each entry declares. The notes refs drop the clone-directory prefix too and name their repository. --- emulators/81.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/emulators/81.yml b/emulators/81.yml index 90da855f..7860258d 100644 --- a/emulators/81.yml +++ b/emulators/81.yml @@ -24,10 +24,10 @@ systems: notes: | Libretro port embeds zx81.rom and dkchr.rom as C arrays (xxd -i). Core never accesses filesystem for ROMs. Hardcodes MACHINEZX81. - ref: 81-libretro/81/zx81/snap.c:487-508, src/libretro.cpp:393 + ref: source 81/zx81/snap.c:487-508, source src/libretro.cpp:393 Original EightyOne supports 15+ machines, loads ROMs from ROM/ directory. - ref: EightyOne/Source/zx81/zx81.cpp:309, EightyOne/Source/HW_.cpp:2734 + ref: upstream Source/zx81/zx81.cpp:309, upstream Source/HW_.cpp:2734 .info has no firmware declarations (firmware_count absent). @@ -271,7 +271,7 @@ files: mode: standalone size: 8192 md5: 5c11c61a2dd2ca4bf39328d9ff42d289 - source_ref: "upstream EightyOne/Source/ROMs/FDCs/interface1.edition1.rom" + source_ref: "upstream Source/ROMs/FDCs/interface1.edition1.rom" - name: "+d.g+dos.v1-a.rom" system: sinclair-zx-spectrum required: false @@ -483,7 +483,7 @@ files: mode: standalone size: 16384 md5: 9f6f56003307b9d55be96f406fdbf2b1 - source_ref: "upstream EightyOne/Source/ROMs/spectrum48.arabic.rom" + source_ref: "upstream Source/ROMs/spectrum48.arabic.rom" - name: spectrum48.arabic.version1.rom system: sinclair-zx-spectrum required: false @@ -600,7 +600,7 @@ files: size: 16384 md5: b7893ad25728fbf6410f08eddd4a1cad note: "Microdigital TK90X (Spectrum clone)." - source_ref: "upstream EightyOne/Source/ROMs/tk90.rom" + source_ref: "upstream Source/ROMs/tk90.rom" - name: tk95.rom system: sinclair-zx-spectrum required: false @@ -609,4 +609,4 @@ files: size: 16384 md5: b7893ad25728fbf6410f08eddd4a1cad note: "Microdigital TK95 (Spectrum clone)." - source_ref: "upstream EightyOne/Source/ROMs/tk95.rom" + source_ref: "upstream Source/ROMs/tk95.rom" From 0d3fde9b0d3c00edf7bd14793bec127dea9927ac Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 10:34:54 +0200 Subject: [PATCH 8/8] fix: pin primehack refs to its dolphin base Seven CommonPaths.h refs were written in March against a 2025 layout (bfef65a9..8cbfee21, IPL.bin at 138), and SYSCONF was later set to 118 from the current file, so no revision held all eight. They now cite d8558142, the merge base of shiiion/dolphin@53f53e0f with dolphin-emu master, where each define sits on the cited line, and upstream_commit names it. --- emulators/primehack.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/emulators/primehack.yml b/emulators/primehack.yml index 7fe78122..860c93f6 100644 --- a/emulators/primehack.yml +++ b/emulators/primehack.yml @@ -5,6 +5,7 @@ source: "https://github.com/shiiion/dolphin" upstream: "https://github.com/dolphin-emu/dolphin" profiled_date: "2026-03-26" source_commit: "53f53e0f5bad27ad62a807cb93b136d84f68777f" +upstream_commit: "d8558142ead21b3fa39809c4aedb982fbfc85feb" core_version: "1.0.8" display_name: "PrimeHack (Dolphin fork for Metroid Prime)" cores: @@ -41,7 +42,7 @@ files: required: false hle_fallback: true note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts" - source_ref: "upstream Source/Core/Common/CommonPaths.h:138, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:109-110" + source_ref: "upstream Source/Core/Common/CommonPaths.h:139, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:109-110" - name: "IPL.bin" path: "GC/EUR/IPL.bin" @@ -78,7 +79,7 @@ files: adler32_pairs_with: "dsp_coef.bin" adler32_pairs: [["0x66f334fe", "0xf3b93527"], ["0xe789b5a5", "0xa4a575f5"]] note: "DSP instruction ROM for LLE audio. Free replacement (v0.4) included" - source_ref: "upstream Source/Core/Common/CommonPaths.h:135, source Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:87-117, source Source/Core/Core/DSP/DSPCore.cpp:28-102" + source_ref: "upstream Source/Core/Common/CommonPaths.h:136, source Source/Core/Core/HW/DSPLLE/DSPLLE.cpp:87-117, source Source/Core/Core/DSP/DSPCore.cpp:28-102" - name: "dsp_coef.bin" path: "GC/dsp_coef.bin" @@ -106,7 +107,7 @@ files: sha1: "483a17ff25b68a8f18cae691da99f16beefbe370" md5: "9bef639b7426ef6948602a12b33522a8" note: "Windows-1252 font for GC/Wii text rendering. The free alternative ships in Sys/GC/ of the 1.0.8 Windows and macOS releases, and the real one from an IPL dump is preferred" - source_ref: "upstream Source/Core/Common/CommonPaths.h:132, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:131, 203-218" + source_ref: "upstream Source/Core/Common/CommonPaths.h:133, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:131, 203-218" - name: "font_japanese.bin" path: "GC/font_japanese.bin" @@ -127,7 +128,7 @@ files: required: false hle_fallback: true note: "GBA BIOS for GC-GBA link feature (uses integrated mGBA). Path configurable in settings" - source_ref: "upstream Source/Core/Common/CommonPaths.h:144, source Source/Core/Core/HW/GBACore.cpp:344-361" + source_ref: "upstream Source/Core/Common/CommonPaths.h:145, source Source/Core/Core/HW/GBACore.cpp:344-361" # -- Wii System Files -- - name: "SYSCONF" @@ -143,7 +144,7 @@ files: required: false hle_fallback: true note: "Wii region/language settings. Auto-generated during Wii boot emulation" - source_ref: "upstream Source/Core/Common/CommonPaths.h:152, source Source/Core/Core/Boot/Boot_BS2Emu.cpp:377-454" + source_ref: "upstream Source/Core/Common/CommonPaths.h:153, source Source/Core/Core/Boot/Boot_BS2Emu.cpp:377-454" # -- Wii NAND Backup (BootMii) -- - name: "nand.bin" @@ -167,7 +168,7 @@ files: required: false hle_fallback: true note: "Virtual SD card image for Wii homebrew. Auto-created, supports SD/SDHC up to 4GB" - source_ref: "upstream Source/Core/Common/CommonPaths.h:149" + source_ref: "upstream Source/Core/Common/CommonPaths.h:150" # -- Gecko Code Handler -- - name: "codehandler.bin" @@ -179,7 +180,7 @@ files: sha1: "e6c0050b3c67ee26198488fbbe4a5d019c15b628" md5: "1f118b8735fcf40c20b38c3184eebfd9" note: "Gecko/Ocarina cheat code handler. Shipped in Sys/ of the 1.0.8 Windows and macOS releases" - source_ref: "upstream Source/Core/Common/CommonPaths.h:154, source Source/Core/Core/GeckoCode.cpp:121" + source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source Source/Core/Core/GeckoCode.cpp:121" # -- Wii System Menu (WAD) -- - name: "Wii System Menu"