diff --git a/Source/Core/Core/Src/Boot/Boot.cpp b/Source/Core/Core/Src/Boot/Boot.cpp index 352511923c..437ca77f74 100644 --- a/Source/Core/Core/Src/Boot/Boot.cpp +++ b/Source/Core/Core/Src/Boot/Boot.cpp @@ -204,6 +204,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(true); // Use HLE BIOS or not diff --git a/Source/Core/Core/Src/HW/VideoInterface.cpp b/Source/Core/Core/Src/HW/VideoInterface.cpp index 4f660e5e84..d500c85d19 100644 --- a/Source/Core/Core/Src/HW/VideoInterface.cpp +++ b/Source/Core/Core/Src/HW/VideoInterface.cpp @@ -20,8 +20,8 @@ #include "../PowerPC/PowerPC.h" -#include "../Core.h" // <- for Core::GetStartupParameter().bUseDualCore -#include "CommandProcessor.h" // <- for homebrew's XFB draw hack +#include "../Core.h" // <- for Core::GetStartupParameter().bUseDualCore +#include "CommandProcessor.h" // <- for homebrew's XFB draw hack #include "PeripheralInterface.h" #include "VideoInterface.h" #include "Memmap.h" @@ -467,7 +467,6 @@ void PreInit(bool _bNTSC) Write16(0x01ae, 0xcc002032); Write16(0x1107, 0xcc002030); Write16(0x0000, 0xcc00206c); - Write16(0x0001, 0xcc00206e); // component cable is connected if (_bNTSC) Write16(0x0001, 0xcc002002); // STATUS REG @@ -475,6 +474,11 @@ void PreInit(bool _bNTSC) Write16(0x0101, 0xcc002002); // STATUS REG } +void SetRegionReg(char _region) +{ + Write16((u16)_region, 0xcc00206e); +} + void UpdateTiming() { switch (m_VIDisplayControlRegister.FMT) diff --git a/Source/Core/Core/Src/HW/VideoInterface.h b/Source/Core/Core/Src/HW/VideoInterface.h index 7ee7c6348d..a1ac0bcdea 100644 --- a/Source/Core/Core/Src/HW/VideoInterface.h +++ b/Source/Core/Core/Src/HW/VideoInterface.h @@ -47,6 +47,8 @@ namespace VideoInterface // pre init void PreInit(bool _bNTSC); + void SetRegionReg(char _region); + // VI Unknown Regs extern u8 m_UVIUnknownRegs[0x1000];