diff --git a/src/BizHawk.Client.Common/RomLoader.cs b/src/BizHawk.Client.Common/RomLoader.cs index 09a648a51d..c890c98bad 100644 --- a/src/BizHawk.Client.Common/RomLoader.cs +++ b/src/BizHawk.Client.Common/RomLoader.cs @@ -333,7 +333,23 @@ namespace BizHawk.Client.Common private IEmulator MakeCoreFromCoreInventory(CoreInventoryParameters cip) { - _config.PreferredCores.TryGetValue(cip.Game.System, out var preferredCore); + var preferredSystem = cip.Game.System; + if (preferredSystem == "GBC") + { + preferredSystem = "GB"; + } + + if (preferredSystem.In("GG", "SG")) + { + preferredSystem = "SMS"; + } + + if (preferredSystem == "SGX") + { + preferredSystem = "PCE"; + } + + _config.PreferredCores.TryGetValue(preferredSystem, out var preferredCore); var forcedCore = cip.Game.ForcedCore; var cores = CoreInventory.Instance.GetCores(cip.Game.System) .OrderBy(c =>