Change behavior of NTSC-J option:

Left unselected, dolphin defaults to nstc-u and sets ntsc-j if the iso is japanese (old behavior).
Selected, ntsc-j is forced.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7580 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman
2011-06-03 00:55:58 +00:00
parent 7e2adf6714
commit 77b8813e31
7 changed files with 21 additions and 12 deletions

View File

@ -192,6 +192,8 @@ bool CBoot::BootUp()
// setup the map from ISOFile ID
VolumeHandler::SetVolumeName(_StartupPara.m_strFilename);
VideoInterface::SetRegionReg((char)VolumeHandler::GetVolume()->GetUniqueID().at(3));
DVDInterface::SetDiscInside(VolumeHandler::IsValid());
u32 _TMDsz = 0x208;

View File

@ -190,7 +190,7 @@ void SConfig::SaveSettings()
ini.Set("Display", "RenderWindowHeight", m_LocalCoreStartupParameter.iRenderWindowHeight);
ini.Set("Display", "RenderWindowAutoSize", m_LocalCoreStartupParameter.bRenderWindowAutoSize);
ini.Set("Display", "ProgressiveScan", m_LocalCoreStartupParameter.bProgressive);
ini.Set("Display", "NTSCJ", m_LocalCoreStartupParameter.bNTSCJ);
ini.Set("Display", "ForceNTSCJ", m_LocalCoreStartupParameter.bForceNTSCJ);
// Game List Control
ini.Set("GameList", "ListDrives", m_ListDrives);
@ -317,7 +317,7 @@ void SConfig::LoadSettings()
ini.Get("Display", "RenderWindowHeight", &m_LocalCoreStartupParameter.iRenderWindowHeight, 480);
ini.Get("Display", "RenderWindowAutoSize", &m_LocalCoreStartupParameter.bRenderWindowAutoSize, false);
ini.Get("Display", "ProgressiveScan", &m_LocalCoreStartupParameter.bProgressive, false);
ini.Get("Display", "NTSCJ", &m_LocalCoreStartupParameter.bNTSCJ, false);
ini.Get("Display", "ForceNTSCJ", &m_LocalCoreStartupParameter.bForceNTSCJ, false);
// Game List Control
ini.Get("GameList", "ListDrives", &m_ListDrives, false);

View File

@ -44,7 +44,7 @@ SCoreStartupParameter::SCoreStartupParameter()
bJITILTimeProfiling(false), bJITILOutputIR(false),
bEnableFPRF(false),
bCPUThread(true), bDSPThread(false), bDSPHLE(true),
bSkipIdle(true), bNTSC(false), bNTSCJ(false),
bSkipIdle(true), bNTSC(false), bForceNTSCJ(false),
bHLE_BS2(true), bUseFastMem(false),
bLockThreads(false),
bEnableCheats(false),

View File

@ -101,7 +101,7 @@ struct SCoreStartupParameter
bool bDSPHLE;
bool bSkipIdle;
bool bNTSC;
bool bNTSCJ;
bool bForceNTSCJ;
bool bHLE_BS2;
bool bUseFastMem;
bool bLockThreads;

View File

@ -157,9 +157,9 @@ void Preset(bool _bNTSC)
void Init()
{
fields = Core::g_CoreStartupParameter.bVBeam?1:2;
fields = Core::g_CoreStartupParameter.bVBeam ? 1 : 2;
m_DTVStatus.ntsc_j = Core::g_CoreStartupParameter.bNTSCJ;
m_DTVStatus.ntsc_j = Core::g_CoreStartupParameter.bForceNTSCJ;
for (int i = 0; i < 4; i++)
m_InterruptRegister[i].Hex = 0;
@ -168,6 +168,12 @@ void Init()
UpdateParameters();
}
void SetRegionReg(char region)
{
if (!Core::g_CoreStartupParameter.bForceNTSCJ)
m_DTVStatus.ntsc_j = region == 'J';
}
void Read8(u8& _uReturnValue, const u32 _iAddress)
{
// Just like 32bit VI transfers, this is technically not allowed,

View File

@ -333,7 +333,8 @@ union UVIDTVStatus
// For BS2 HLE
void Preset(bool _bNTSC);
void Init();
void Init();
void SetRegionReg(char region);
void DoState(PointerWrap &p);
void Read8(u8& _uReturnValue, const u32 _uAddress);
@ -341,7 +342,7 @@ union UVIDTVStatus
void Read32(u32& _uReturnValue, const u32 _uAddress);
void Write16(const u16 _uValue, const u32 _uAddress);
void Write32(const u32 _uValue, const u32 _uAddress);
void Write32(const u32 _uValue, const u32 _uAddress);
// returns a pointer to the current visible xfb
u8* GetXFBPointerTop();