core:
- add DSi Enhanced ROM detection; - add new country code info (O - USA);
This commit is contained in:
parent
338077614a
commit
de36370a91
|
@ -351,12 +351,13 @@ const RomBanner& GameInfo::getRomBanner()
|
||||||
|
|
||||||
void GameInfo::populate()
|
void GameInfo::populate()
|
||||||
{
|
{
|
||||||
const char *regions[] = { "JPFSEDIRKHX",
|
const char *regions[] = { "JPFSEODIRKHX",
|
||||||
"JPN",
|
"JPN",
|
||||||
"EUR",
|
"EUR",
|
||||||
"FRA",
|
"FRA",
|
||||||
"ESP",
|
"ESP",
|
||||||
"USA",
|
"USA",
|
||||||
|
"USA",
|
||||||
"NOE",
|
"NOE",
|
||||||
"ITA",
|
"ITA",
|
||||||
"RUS",
|
"RUS",
|
||||||
|
@ -431,6 +432,11 @@ void GameInfo::populate()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GameInfo::isDSiEnhanced()
|
||||||
|
{
|
||||||
|
return ((*(u32*)(romdata + 0x180) == 0x8D898581U) && (*(u32*)(romdata + 0x184) == 0x8C888480U));
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
|
|
||||||
static std::vector<char> buffer;
|
static std::vector<char> buffer;
|
||||||
|
@ -595,12 +601,17 @@ int NDS_LoadROM(const char *filename, const char *physicalName, const char *logi
|
||||||
// 5: DSi? (if set to 1 then DSi Enhanced games send command D6h to Slot1)
|
// 5: DSi? (if set to 1 then DSi Enhanced games send command D6h to Slot1)
|
||||||
// 6: Unknown
|
// 6: Unknown
|
||||||
// 7: ROM speed (Secure Area Block transfer mode (trasfer 8x200h or 1000h bytes)
|
// 7: ROM speed (Secure Area Block transfer mode (trasfer 8x200h or 1000h bytes)
|
||||||
gameInfo.chipID |= (0x00 << 24);
|
// TODO:
|
||||||
|
//if (gameInfo.isDSiEnhanced())
|
||||||
|
// gameInfo.chipID |= (0x40 << 24);
|
||||||
|
gameInfo.chipID |= (0x40 << 24);
|
||||||
|
|
||||||
INFO("\nROM game code: %c%c%c%c\n", gameInfo.header.gameCode[0], gameInfo.header.gameCode[1], gameInfo.header.gameCode[2], gameInfo.header.gameCode[3]);
|
INFO("\nROM game code: %c%c%c%c\n", gameInfo.header.gameCode[0], gameInfo.header.gameCode[1], gameInfo.header.gameCode[2], gameInfo.header.gameCode[3]);
|
||||||
INFO("ROM crc: %08X\n", gameInfo.crc);
|
INFO("ROM crc: %08X\n", gameInfo.crc);
|
||||||
INFO("ROM serial: %s\n", gameInfo.ROMserial);
|
INFO("ROM serial: %s\n", gameInfo.ROMserial);
|
||||||
|
INFO("ROM chipID: %08X\n", gameInfo.chipID);
|
||||||
INFO("ROM internal name: %s\n", gameInfo.ROMname);
|
INFO("ROM internal name: %s\n", gameInfo.ROMname);
|
||||||
|
if (gameInfo.isDSiEnhanced()) INFO("ROM DSi Enhanced\n");
|
||||||
INFO("ROM developer: %s\n", getDeveloperNameByID(gameInfo.header.makerCode).c_str());
|
INFO("ROM developer: %s\n", getDeveloperNameByID(gameInfo.header.makerCode).c_str());
|
||||||
|
|
||||||
//crazymax: how would it have got whacked? dont think we need this
|
//crazymax: how would it have got whacked? dont think we need this
|
||||||
|
|
|
@ -376,6 +376,8 @@ struct GameInfo
|
||||||
romdata = new char[allocatedSize];
|
romdata = new char[allocatedSize];
|
||||||
romsize = size;
|
romsize = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool isDSiEnhanced();
|
||||||
u32 crc;
|
u32 crc;
|
||||||
u32 chipID;
|
u32 chipID;
|
||||||
NDS_header header;
|
NDS_header header;
|
||||||
|
|
Loading…
Reference in New Issue