diff options
author | SNBeast <snburchett@gmail.com> | 2021-07-09 13:55:57 -0400 |
---|---|---|
committer | SNBeast <snburchett@gmail.com> | 2021-07-09 13:55:57 -0400 |
commit | a5efde18cac4c7ddfd294fad3a9f7ab1d6fa7b1e (patch) | |
tree | 915f635fd546ee6dc7abb90976b74063d254e9ef /arm9/src | |
parent | 5d25e5e60c1e4e347310f014f38865cbac1c8ab1 (diff) |
More defined constants
Diffstat (limited to 'arm9/src')
-rw-r--r-- | arm9/src/unk_02022450.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/arm9/src/unk_02022450.c b/arm9/src/unk_02022450.c index 30fed94a..3425384e 100644 --- a/arm9/src/unk_02022450.c +++ b/arm9/src/unk_02022450.c @@ -8,24 +8,26 @@ static const char string_saying_rom[] = "rom"; +/*Replacing (HW_MAIN_MEM_SHARED + 0xC) or (HW_MAIN_MEM_SHARED + 0x10) or defining ADAJ or 01 constants causes match failure*/ THUMB_FUNC void FUN_02022450 () { if (!FS_IsAvailable()) { OS_Terminate(); } else { - u32 *r1 = (u32*)HW_MAIN_MEM_SHARED; - if (!*(u32*)0x027FF00C) { + struct CARD_Header* card_header_buffer = (struct CARD_Header*)HW_MAIN_MEM_SHARED; + + if (!*(u32*)(HW_MAIN_MEM_SHARED + 0xC)) { CARD_Init(); - MI_CpuCopy8((u8*)HW_ROM_HEADER_BUF, (u8*)r1, 22 * 16); - MI_CpuCopy8((u8*)HW_ROM_HEADER_BUF, (u8*)HW_CARD_ROM_HEADER, 22 * 16); - *(u32*)0x027FF00C = 0x4A414441; + MI_CpuCopy8((u8*)HW_ROM_HEADER_BUF, (u8*)card_header_buffer, HW_CARD_ROM_HEADER_SIZE); + MI_CpuCopy8((u8*)HW_ROM_HEADER_BUF, (u8*)HW_CARD_ROM_HEADER, HW_CARD_ROM_HEADER_SIZE); + *(u32*)(HW_MAIN_MEM_SHARED + 0xC) = 0x4A414441 /*"ADAJ" LE*/; } FSArchive * const r0 = FS_FindArchive(string_saying_rom, 3); - r0->fat = r1[18]; - r0->fat_size = r1[19]; - r0->fnt = r1[16]; - r0->fnt_size = r1[17]; - if (*(u32*)0x027FF00C != 0x4A414441 || *(u16*)0x027FF010 != 0x3130) { + r0->fat = card_header_buffer->header_48; + r0->fat_size = card_header_buffer->header_4C; + r0->fnt = card_header_buffer->header_40; + r0->fnt_size = card_header_buffer->header_44; + if (*(u32*)(HW_MAIN_MEM_SHARED + 0xC) != 0x4A414441 /*"ADAJ" LE*/ || *(u16*)(HW_MAIN_MEM_SHARED + 0x10) != 0x3130 /*"01" LE*/) { OS_Terminate(); } } |