SGB2: Try to load sgb2_boot.bin instead of sgb_boot.bin when using SGB2

This commit is contained in:
Sour 2020-06-19 21:25:46 -04:00
parent 9213714ce7
commit d8b91efd65
5 changed files with 11 additions and 9 deletions

View file

@ -63,7 +63,8 @@ enum class FirmwareType
Satellaview, Satellaview,
Gameboy, Gameboy,
GameboyColor, GameboyColor,
SgbGameboyCpu, Sgb1GameboyCpu,
Sgb2GameboyCpu,
SGB1, SGB1,
SGB2 SGB2
}; };

View file

@ -136,7 +136,8 @@ public:
default: default:
case FirmwareType::Gameboy: filename = "dmg_boot.bin"; break; case FirmwareType::Gameboy: filename = "dmg_boot.bin"; break;
case FirmwareType::GameboyColor: filename = "cgb_boot.bin"; break; case FirmwareType::GameboyColor: filename = "cgb_boot.bin"; break;
case FirmwareType::SgbGameboyCpu: filename = "sgb_boot.bin"; break; case FirmwareType::Sgb1GameboyCpu: filename = "sgb_boot.bin"; break;
case FirmwareType::Sgb2GameboyCpu: filename = "sgb2_boot.bin"; break;
} }
uint32_t size = type == FirmwareType::GameboyColor ? 2304 : 256; uint32_t size = type == FirmwareType::GameboyColor ? 2304 : 256;

View file

@ -93,7 +93,7 @@ void Gameboy::Init(Console* console, GbCart* cart, std::vector<uint8_t>& romData
FirmwareType type = FirmwareType::Gameboy; FirmwareType type = FirmwareType::Gameboy;
if(_model == GameboyModel::SuperGameboy) { if(_model == GameboyModel::SuperGameboy) {
type = FirmwareType::SgbGameboyCpu; type = cfg.UseSgb2 ? FirmwareType::Sgb2GameboyCpu : FirmwareType::Sgb1GameboyCpu;
} else if(_model == GameboyModel::GameboyColor) { } else if(_model == GameboyModel::GameboyColor) {
type = FirmwareType::GameboyColor; type = FirmwareType::GameboyColor;
} }

View file

@ -250,7 +250,8 @@ namespace Mesen.GUI
Satellaview, Satellaview,
Gameboy, Gameboy,
GameboyColor, GameboyColor,
SgbGameboyCpu, Sgb1GameboyCpu,
Sgb2GameboyCpu,
SGB1, SGB1,
SGB2, SGB2,
} }

View file

@ -48,10 +48,9 @@ namespace Mesen.GUI.Utilities
}; };
case FirmwareType.Gameboy: return new List<string>() { "CF053ECCB4CCAFFF9E67339D4E78E98DCE7D1ED59BE819D2A1BA2232C6FCE1C7", "26E71CF01E301E5DC40E987CD2ECBF6D0276245890AC829DB2A25323DA86818E" }; case FirmwareType.Gameboy: return new List<string>() { "CF053ECCB4CCAFFF9E67339D4E78E98DCE7D1ED59BE819D2A1BA2232C6FCE1C7", "26E71CF01E301E5DC40E987CD2ECBF6D0276245890AC829DB2A25323DA86818E" };
case FirmwareType.GameboyColor: return new List<string>() { "B4F2E416A35EEF52CBA161B159C7C8523A92594FACB924B3EDE0D722867C50C7", "3A307A41689BEE99A9A32EA021BF45136906C86B2E4F06C806738398E4F92E45" }; case FirmwareType.GameboyColor: return new List<string>() { "B4F2E416A35EEF52CBA161B159C7C8523A92594FACB924B3EDE0D722867C50C7", "3A307A41689BEE99A9A32EA021BF45136906C86B2E4F06C806738398E4F92E45" };
case FirmwareType.SgbGameboyCpu: return new List<string>() { case FirmwareType.Sgb1GameboyCpu: return new List<string>() { "0E4DDFF32FC9D1EEAAE812A157DD246459B00C9E14F2F61751F661F32361E360" };
"0E4DDFF32FC9D1EEAAE812A157DD246459B00C9E14F2F61751F661F32361E360", //SGB1 case FirmwareType.Sgb2GameboyCpu: return new List<string>() { "FD243C4FB27008986316CE3DF29E9CFBCDC0CD52704970555A8BB76EDBEC3988" };
"FD243C4FB27008986316CE3DF29E9CFBCDC0CD52704970555A8BB76EDBEC3988" //SGB2
};
case FirmwareType.SGB1: return new List<string>() { case FirmwareType.SGB1: return new List<string>() {
"BBA9C269273BEDB9B38BD5EB23BFAA6E509B8DECC7CB80BB5513905AF04F4CEB", //Rev 0 (Japan) "BBA9C269273BEDB9B38BD5EB23BFAA6E509B8DECC7CB80BB5513905AF04F4CEB", //Rev 0 (Japan)
"C6C4DAAB5C899B69900C460787DE6089EDABE94B760F96D9F583D30CC0A5BB30", //Rev 1 (Japan+USA) "C6C4DAAB5C899B69900C460787DE6089EDABE94B760F96D9F583D30CC0A5BB30", //Rev 1 (Japan+USA)