Cart: Region code 0x12 is PAL

Fixes Tintin in Tibet loading up as NTSC
This commit is contained in:
Sour 2019-12-28 09:18:40 -05:00
parent c30123ba9a
commit fde27d6115
3 changed files with 13 additions and 10 deletions

View file

@ -8,6 +8,7 @@
#include "MessageManager.h"
#include "Console.h"
#include "EmuSettings.h"
#include "SettingTypes.h"
#include "BatteryManager.h"
#include "NecDsp.h"
#include "Sa1.h"
@ -523,6 +524,15 @@ string BaseCartridge::GetCartName()
}
}
ConsoleRegion BaseCartridge::GetRegion()
{
uint8_t destCode = _cartInfo.DestinationCode;
if((destCode >= 0x02 && destCode <= 0x0C) || destCode == 0x11 || destCode == 0x12) {
return ConsoleRegion::Pal;
}
return ConsoleRegion::Ntsc;
}
void BaseCartridge::DisplayCartInfo()
{
MessageManager::Log("-----------------------------");

View file

@ -14,6 +14,7 @@ class Gsu;
class Cx4;
class Console;
class SpcFileData;
enum class ConsoleRegion;
class BaseCartridge : public ISerializable
{
@ -78,6 +79,7 @@ public:
void Init(MemoryMappings &mm);
RomInfo GetRomInfo();
ConsoleRegion GetRegion();
string GetSha1Hash();
CartFlags::CartFlags GetCartFlags();

View file

@ -465,16 +465,7 @@ ConsoleRegion Console::GetRegion()
void Console::UpdateRegion()
{
switch(_settings->GetEmulationConfig().Region) {
case ConsoleRegion::Auto:
{
uint8_t destCode = _cart->GetRomInfo().Header.DestinationCode;
if((destCode >= 0x02 && destCode <= 0x0C) || destCode == 0x11) {
_region = ConsoleRegion::Pal;
} else {
_region = ConsoleRegion::Ntsc;
}
break;
}
case ConsoleRegion::Auto: _region = _cart->GetRegion(); break;
default:
case ConsoleRegion::Ntsc: _region = ConsoleRegion::Ntsc; break;