mirror of
https://github.com/LNH-team/pico-loader.git
synced 2026-06-02 09:16:49 +02:00
Impl HandleiQueRegionFreePatching to bypass region locking on certain iQue games (#83)
This commit is contained in:
@@ -220,6 +220,7 @@ void NdsLoader::Load(BootMode bootMode)
|
|||||||
if (bootMode == BootMode::Normal)
|
if (bootMode == BootMode::Normal)
|
||||||
{
|
{
|
||||||
bootType = _romHeader.IsDsiWare() ? BOOT_TYPE_NAND : BOOT_TYPE_CARD;
|
bootType = _romHeader.IsDsiWare() ? BOOT_TYPE_NAND : BOOT_TYPE_CARD;
|
||||||
|
HandleIQueRegionFreePatching();
|
||||||
}
|
}
|
||||||
else if (bootMode == BootMode::Multiboot)
|
else if (bootMode == BootMode::Multiboot)
|
||||||
{
|
{
|
||||||
@@ -1013,6 +1014,15 @@ bool NdsLoader::TryDecryptSecureArea()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NdsLoader::HandleIQueRegionFreePatching()
|
||||||
|
{
|
||||||
|
if ((_romHeader.flags & 0x80) == 0x80)
|
||||||
|
{
|
||||||
|
_romHeader.flags &= ~0x80;
|
||||||
|
_romHeader.headerCrc = swi_getCrc16(0xFFFF, (void*)&_romHeader, 0x15E);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ConsoleRegion NdsLoader::GetRomRegion(u32 gameCode)
|
ConsoleRegion NdsLoader::GetRomRegion(u32 gameCode)
|
||||||
{
|
{
|
||||||
u8 gameRegionCode = (gameCode >> 24) & 0xFF;
|
u8 gameRegionCode = (gameCode >> 24) & 0xFF;
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ private:
|
|||||||
void InsertArgv();
|
void InsertArgv();
|
||||||
bool TrySetupDsiWareSave();
|
bool TrySetupDsiWareSave();
|
||||||
bool TryDecryptSecureArea();
|
bool TryDecryptSecureArea();
|
||||||
|
void HandleIQueRegionFreePatching();
|
||||||
ConsoleRegion GetRomRegion(u32 gameCode);
|
ConsoleRegion GetRomRegion(u32 gameCode);
|
||||||
UserLanguage GetLanguageByRomRegion(ConsoleRegion romRegion);
|
UserLanguage GetLanguageByRomRegion(ConsoleRegion romRegion);
|
||||||
u32 GetSupportedLanguagesByRegion(ConsoleRegion region);
|
u32 GetSupportedLanguagesByRegion(ConsoleRegion region);
|
||||||
|
|||||||
Reference in New Issue
Block a user