diff --git a/Assets/gamedb/gamedb_snes.txt b/Assets/gamedb/gamedb_snes.txt index a6f96ff234..017ffc18e8 100644 --- a/Assets/gamedb/gamedb_snes.txt +++ b/Assets/gamedb/gamedb_snes.txt @@ -2260,8 +2260,8 @@ D6D22BFDBB821B18BB0859E545355D0919424496 G Saikousoku Shikou Shougi Mahjong (Jap E3E4886F2E69E15E878EB70EF97E31C84F9F81DE G Sailormoon (France) SNES 52DD37C4A48310570F9F887320B8B83122BBB5F8 G Sakurai Shouichi no Jankiryuu Mahjong Hisshouhou (Japan) SNES A6AD0F89C3E75327D70AA0F0239C7B06F151E0A4 G Same Game (Japan) SNES -C974673E0365DADC54AFCF8DD2E6B41B512C6FE7 G Same Game - Chara Cassette (Japan) (BSROM) BSX -FF3E6B558AAA9C36A35460BA61821E09AEF50A9E G Same Game - Chara Data Shuu (Japan) (BSROM) BSX +C974673E0365DADC54AFCF8DD2E6B41B512C6FE7 G Same Game - Chara Cassette (Japan) (BSROM) BSX baseCartridge=5 +FF3E6B558AAA9C36A35460BA61821E09AEF50A9E G Same Game - Chara Data Shuu (Japan) (BSROM) BSX baseCartridge=5 7D9658572B762AA325A4E66222C762D77B00EF69 G Samsara Naga 2 (Japan) SNES C54F3D2BDB3667061BCBDAC155B7AFF89BFE1DED G Samurai Shodown (Europe) SNES 3844A37927AE12D4077EE7188048B4CBB9958448 G Samurai Shodown (USA) SNES @@ -2287,7 +2287,7 @@ ADA4E36FA44C98576697783E2DB7A1AB0129413B G SD F-1 Grand Prix (Japan) (Sample) SN D3EF6B754AE4F8BBBE915A8B82824C6B62DA58C7 G SD F-1 Grand Prix (Japan) SNES 43BE07A1EDA1563E99343BB6B349E251B576B69D G SD Gundam - Power Formation Puzzle (Japan) SNES 356A3D60E9FABFF4B4CEC66277C9A6B717C958CE G SD Gundam G Next (Japan) SNES -81A75B1A19907E831B3B80D2067108A61C4BAE40 G SD Gundam G Next - Unit & Map Collection (Japan) (BSROM) BSX +81A75B1A19907E831B3B80D2067108A61C4BAE40 G SD Gundam G Next - Unit & Map Collection (Japan) (BSROM) BSX baseCartridge=3 0FE75F22D976E02270257B2A608B26197DDB1BFE G SD Gundam Gaiden - Knight Gundam Monogatari - Ooinaru Isan (Japan) (Rev 1) SNES CDE38D9613947FEEA6E7A0D21363605FB9D21723 G SD Gundam Gaiden - Knight Gundam Monogatari - Ooinaru Isan (Japan) SNES E9D5A724FAA40933C3C8217711B04DC34529BC96 G SD Gundam Gaiden 2 - Entaku no Kishi (Japan) SNES diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/BSNES/BsnesCore.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/BSNES/BsnesCore.cs index 9af6966084..0d24784e4c 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/BSNES/BsnesCore.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/BSNES/BsnesCore.cs @@ -91,8 +91,16 @@ namespace BizHawk.Emulation.Cores.Nintendo.BSNES SATELLAVIEW_CARTRIDGE slottedCartridge = _syncSettings.SatellaviewCartridge; if (slottedCartridge == SATELLAVIEW_CARTRIDGE.Autodetect) { - // TODO - slottedCartridge = SATELLAVIEW_CARTRIDGE.Rom_BSX; + if (loadParameters.Game.NotInDatabase) + { + CoreComm.ShowMessage("Unable to autodetect satellaview base cartridge for unknown game. Falling back to BS-X cartridge."); + slottedCartridge = SATELLAVIEW_CARTRIDGE.Rom_BSX; + } + else + { + // query gamedb for slotted cartridge id, assume BS-X cartridge if not otherwise specified in gamedb + slottedCartridge = (SATELLAVIEW_CARTRIDGE)loadParameters.Game.GetInt("baseCartridge", (int)SATELLAVIEW_CARTRIDGE.Rom_BSX); + } } byte[] cartridgeData = CoreComm.CoreFileProvider.GetFirmwareOrThrow(new FirmwareID("BSX", slottedCartridge.ToString())); Api.core.snes_load_cartridge_bsmemory(cartridgeData, loadParameters.Roms[0].RomData,