Merge pull request #19 from TuxSH/master
"Friends" and "ErrDisp" patches (and Makefile fix)
This commit is contained in:
commit
68bf134017
6
Makefile
6
Makefile
@ -1,5 +1,11 @@
|
|||||||
rwildcard = $(foreach d, $(wildcard $1*), $(filter $(subst *, %, $2), $d) $(call rwildcard, $d/, $2))
|
rwildcard = $(foreach d, $(wildcard $1*), $(filter $(subst *, %, $2), $d) $(call rwildcard, $d/, $2))
|
||||||
|
|
||||||
|
ifeq ($(strip $(DEVKITARM)),)
|
||||||
|
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(DEVKITARM)/3ds_rules
|
||||||
|
|
||||||
CC := arm-none-eabi-gcc
|
CC := arm-none-eabi-gcc
|
||||||
AS := arm-none-eabi-as
|
AS := arm-none-eabi-as
|
||||||
LD := arm-none-eabi-ld
|
LD := arm-none-eabi-ld
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user