Naomi: fix game id for some M2 carts

This commit is contained in:
Flyinghead 2018-11-15 18:25:23 +01:00
parent 074026842e
commit cb410438a2
2 changed files with 13 additions and 0 deletions

View File

@ -1083,6 +1083,18 @@ u16 M2Cartridge::ReadCipheredData(u32 offset)
}
std::string M2Cartridge::GetGameId()
{
std::string game_id = NaomiCartridge::GetGameId();
if ((game_id.size() < 2 || (game_id[0] == -1 && game_id[1] == -1)) && RomSize >= 0x800050)
{
game_id = std::string((char *)RomPtr + 0x800030, 0x20);
while (!game_id.empty() && game_id.back() == ' ')
game_id.pop_back();
}
return game_id;
}
void M2Cartridge::Serialize(void** data, unsigned int* total_size) {
REICAST_S(naomi_cart_ram);
NaomiCartridge::Serialize(data, total_size);

View File

@ -72,6 +72,7 @@ public:
virtual void Serialize(void** data, unsigned int* total_size) override;
virtual void Unserialize(void** data, unsigned int* total_size) override;
virtual void* GetDmaPtr(u32& size) override;
virtual std::string GetGameId();
private:
u8 naomi_cart_ram[64 * 1024];