Implement "friends" and "ErrDisp" patches

This commit is contained in:
TuxSH 2016-04-08 23:28:40 +02:00
parent 5a0f2e4dfc
commit 6351e5b8c3

View File

@ -180,6 +180,53 @@ void patchCode(u64 progId, u8 *code, u32 size)
break; break;
} }
case 0x0004013000003202LL: // FRIENDS
{
static const u8 fpdverPattern[] = {
0xE0, 0x1E, 0xFF, 0x2F, 0xE1, 0x01, 0x01, 0x01, 0x01
};
u8 *fdpver = memsearch(code, fpdverPattern, size, sizeof(fpdverPattern));
if(fdpver == NULL) break;
else fdpver += sizeof(fpdverPattern);
if(*fdpver < 5) *fdpver = 5;
break;
}
case 0x0004003000008A02LL: // ErrDisp
{
static const u8 unitinfoCheckPattern1[] = {
0x14, 0x00, 0xD0, 0xE5, 0xDB, 0x9A, 0x9F, 0xED
};
static const u8 unitinfoCheckPattern2[] = {
0x14, 0x00, 0xD0, 0xE5, 0x01, 0x00, 0x10, 0xE3
} ;
static const u8 unitinfoCheckPatch[] = {
0x00, 0x00, 0xA0, 0xE3
} ;
patchMemory(code, size,
unitinfoCheckPattern1,
sizeof(unitinfoCheckPattern1), 0,
unitinfoCheckPatch,
sizeof(unitinfoCheckPatch), 1
);
patchMemory(code, size,
unitinfoCheckPattern2,
sizeof(unitinfoCheckPattern2), 0,
unitinfoCheckPatch,
sizeof(unitinfoCheckPatch), 3
);
break;
}
case 0x0004001000021000LL: // USA MSET case 0x0004001000021000LL: // USA MSET
case 0x0004001000020000LL: // JPN MSET case 0x0004001000020000LL: // JPN MSET
case 0x0004001000022000LL: // EUR MSET case 0x0004001000022000LL: // EUR MSET