diff options
Diffstat (limited to 'arm9/asm')
34 files changed, 91 insertions, 3306 deletions
diff --git a/arm9/asm/pokemon_storage_system.s b/arm9/asm/pokemon_storage_system.s deleted file mode 100644 index 472e04b3..00000000 --- a/arm9/asm/pokemon_storage_system.s +++ /dev/null @@ -1,737 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .text - - thumb_func_start PCStorage_init -PCStorage_init: ; 0x0206B16C - push {r3, lr} - bl PCStorage_InitializeBoxes - bl SaveSetDirtyBit - pop {r3, pc} - - thumb_func_start PCStorage_sizeof -PCStorage_sizeof: ; 0x0206B178 - ldr r0, _0206B17C ; =0x000121C8 - bx lr - .balign 4 -_0206B17C: .word 0x000121C8 - - thumb_func_start PCStorage_InitializeBoxes -PCStorage_InitializeBoxes: ; 0x0206B180 - push {r3-r7, lr} - str r0, [sp, #0x0] - mov r7, #0x0 - add r6, r0, #0x4 -_0206B188: - mov r4, #0x0 - add r5, r6, #0x0 -_0206B18C: - add r0, r5, #0x0 - bl ZeroBoxMonData - add r4, r4, #0x1 - add r5, #0x88 - cmp r4, #0x1e - blo _0206B18C - mov r0, #0xff - lsl r0, r0, #0x4 - add r7, r7, #0x1 - add r6, r6, r0 - cmp r7, #0x12 - blo _0206B188 - mov r3, #0x0 - ldr r1, _0206B200 ; =0x000121B4 - add r4, r3, #0x0 - add r2, r3, #0x0 -_0206B1AE: - ldr r0, [sp, #0x0] - add r0, r0, r3 - strb r4, [r0, r1] - add r4, r4, #0x1 - cmp r4, #0x10 - blo _0206B1BC - add r4, r2, #0x0 -_0206B1BC: - add r3, r3, #0x1 - cmp r3, #0x12 - blo _0206B1AE - ldr r1, _0206B204 ; =0x000121C6 - ldr r0, [sp, #0x0] - mov r3, #0x0 - strb r3, [r0, r1] - mov r0, #0x1 - mov r1, #0x1a - mov r2, #0xe - bl NewMsgDataFromNarc - add r6, r0, #0x0 - beq _0206B1F8 - ldr r1, _0206B208 ; =0x00011EE4 - ldr r0, [sp, #0x0] - mov r5, #0x0 - add r4, r0, r1 -_0206B1E0: - add r0, r6, #0x0 - add r1, r5, #0x6 - add r2, r4, #0x0 - bl ReadMsgDataIntoU16Array - add r5, r5, #0x1 - add r4, #0x28 - cmp r5, #0x12 - blo _0206B1E0 - add r0, r6, #0x0 - bl DestroyMsgData -_0206B1F8: - ldr r0, [sp, #0x0] - mov r1, #0x0 - str r1, [r0, #0x0] - pop {r3-r7, pc} - .balign 4 -_0206B200: .word 0x000121B4 -_0206B204: .word 0x000121C6 -_0206B208: .word 0x00011EE4 - - thumb_func_start PCStorage_PlaceMonInFirstEmptySlotInAnyBox -PCStorage_PlaceMonInFirstEmptySlotInAnyBox: ; 0x0206B20C - push {r3-r7, lr} - add r5, r0, #0x0 - ldr r4, [r5, #0x0] - add r6, r1, #0x0 - mov r7, #0x0 -_0206B216: - add r0, r6, #0x0 - bl RestoreBoxMonPP - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl PCStorage_PlaceMonInBoxFirstEmptySlot - cmp r0, #0x0 - beq _0206B232 - bl SaveSetDirtyBit - mov r0, #0x1 - pop {r3-r7, pc} -_0206B232: - add r4, r4, #0x1 - cmp r4, #0x12 - blo _0206B23A - add r4, r7, #0x0 -_0206B23A: - ldr r0, [r5, #0x0] - cmp r4, r0 - bne _0206B216 - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start PCStorage_PlaceMonInBoxFirstEmptySlot -PCStorage_PlaceMonInBoxFirstEmptySlot: ; 0x0206B244 - push {r3-r7, lr} - sub sp, #0x8 - add r6, r0, #0x0 - add r0, r2, #0x0 - add r5, r1, #0x0 - str r2, [sp, #0x0] - bl RestoreBoxMonPP - mov r0, #0x0 - mvn r0, r0 - cmp r5, r0 - bne _0206B25E - ldr r5, [r6, #0x0] -_0206B25E: - mov r0, #0xff - lsl r0, r0, #0x4 - add r1, r6, #0x4 - mul r0, r5 - mov r4, #0x0 - add r5, r1, r0 - str r5, [sp, #0x4] - mov r6, #0x5 - add r7, r4, #0x0 -_0206B270: - add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, r7, #0x0 - bl GetBoxMonData - cmp r0, #0x0 - bne _0206B2A0 - mov r0, #0x88 - add r1, r4, #0x0 - mul r1, r0 - ldr r0, [sp, #0x4] - mov r3, #0x11 - add r4, r0, r1 -_0206B28A: - ldr r2, [sp, #0x0] - sub r3, r3, #0x1 - ldmia r2!, {r0-r1} - str r2, [sp, #0x0] - stmia r4!, {r0-r1} - bne _0206B28A - bl SaveSetDirtyBit - add sp, #0x8 - mov r0, #0x1 - pop {r3-r7, pc} -_0206B2A0: - add r4, r4, #0x1 - add r5, #0x88 - cmp r4, #0x1e - blo _0206B270 - mov r0, #0x0 - add sp, #0x8 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start PCStorage_PlaceMonInBoxByIndexPair -PCStorage_PlaceMonInBoxByIndexPair: ; 0x0206B2B0 - push {r3-r7, lr} - add r7, r3, #0x0 - add r5, r0, #0x0 - add r0, r7, #0x0 - add r4, r1, #0x0 - add r6, r2, #0x0 - bl RestoreBoxMonPP - mov r0, #0x0 - mvn r0, r0 - cmp r4, r0 - bne _0206B2CA - ldr r4, [r5, #0x0] -_0206B2CA: - cmp r4, #0x12 - bhs _0206B2F4 - cmp r6, #0x1e - bhs _0206B2F4 - mov r0, #0xff - lsl r0, r0, #0x4 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x88 - mul r0, r6 - add r0, r1, r0 - add r3, r0, #0x4 - mov r2, #0x11 -_0206B2E4: - ldmia r7!, {r0-r1} - stmia r3!, {r0-r1} - sub r2, r2, #0x1 - bne _0206B2E4 - bl SaveSetDirtyBit - mov r0, #0x1 - pop {r3-r7, pc} -_0206B2F4: - bl ErrorHandling - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start PCStorage_DeleteBoxMonByIndexPair -PCStorage_DeleteBoxMonByIndexPair: ; 0x0206B2FC - push {r3, lr} - mov r3, #0x0 - mvn r3, r3 - cmp r1, r3 - bne _0206B308 - ldr r1, [r0, #0x0] -_0206B308: - cmp r2, #0x1e - bhs _0206B32A - cmp r1, #0x12 - bhs _0206B32A - add r3, r0, #0x4 - mov r0, #0xff - lsl r0, r0, #0x4 - mul r0, r1 - add r1, r3, r0 - mov r0, #0x88 - mul r0, r2 - add r0, r1, r0 - bl ZeroBoxMonData - bl SaveSetDirtyBit - pop {r3, pc} -_0206B32A: - bl ErrorHandling - pop {r3, pc} - - thumb_func_start PCStorage_GetActiveBox -PCStorage_GetActiveBox: ; 0x0206B330 - ldr r0, [r0, #0x0] - bx lr - - thumb_func_start PCStorage_FindFirstBoxWithEmptySlot -PCStorage_FindFirstBoxWithEmptySlot: ; 0x0206B334 - push {r3-r7, lr} - sub sp, #0x8 - str r0, [sp, #0x0] - ldr r6, [r0, #0x0] - add r0, r0, #0x4 - mov r7, #0xab - str r0, [sp, #0x4] -_0206B342: - mov r0, #0xff - lsl r0, r0, #0x4 - add r1, r6, #0x0 - mul r1, r0 - ldr r0, [sp, #0x4] - mov r4, #0x0 - add r5, r0, r1 -_0206B350: - add r0, r5, #0x0 - add r1, r7, #0x0 - mov r2, #0x0 - bl GetBoxMonData - cmp r0, #0x0 - bne _0206B364 - add sp, #0x8 - add r0, r6, #0x0 - pop {r3-r7, pc} -_0206B364: - add r4, r4, #0x1 - add r5, #0x88 - cmp r4, #0x1e - blt _0206B350 - add r6, r6, #0x1 - cmp r6, #0x12 - blt _0206B374 - mov r6, #0x0 -_0206B374: - ldr r0, [sp, #0x0] - ldr r0, [r0, #0x0] - cmp r6, r0 - bne _0206B342 - mov r0, #0x12 - add sp, #0x8 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start PCStorage_FindFirstEmptySlot -PCStorage_FindFirstEmptySlot: ; 0x0206B384 - push {r3-r7, lr} - add r6, r1, #0x0 - str r2, [sp, #0x0] - mov r1, #0x0 - ldr r2, [r6, #0x0] - mvn r1, r1 - cmp r2, r1 - bne _0206B398 - ldr r1, [r0, #0x0] - str r1, [r6, #0x0] -_0206B398: - ldr r1, [sp, #0x0] - ldr r4, [r6, #0x0] - ldr r5, [r1, #0x0] - add r7, r0, #0x4 - b _0206B3C8 -_0206B3A2: - mov r0, #0xff - lsl r0, r0, #0x4 - mul r0, r4 - add r1, r7, r0 - mov r0, #0x88 - mul r0, r5 - add r0, r1, r0 - mov r1, #0xab - mov r2, #0x0 - bl GetBoxMonData - cmp r0, #0x0 - bne _0206B3C6 - ldr r0, [sp, #0x0] - str r4, [r6, #0x0] - str r5, [r0, #0x0] - mov r0, #0x1 - pop {r3-r7, pc} -_0206B3C6: - add r5, r5, #0x1 -_0206B3C8: - cmp r5, #0x1e - blt _0206B3A2 - add r4, r4, #0x1 - cmp r4, #0x12 - blt _0206B3D4 - mov r4, #0x0 -_0206B3D4: - ldr r0, [r6, #0x0] - cmp r4, r0 - beq _0206B3DE - mov r5, #0x0 - b _0206B3C8 -_0206B3DE: - mov r0, #0x12 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start PCStorage_CountMonsAndEggsInAllBoxes -PCStorage_CountMonsAndEggsInAllBoxes: ; 0x0206B3E4 - push {r3-r7, lr} - sub sp, #0x8 - mov r6, #0x0 - add r0, r0, #0x4 - str r6, [sp, #0x4] - str r0, [sp, #0x0] - mov r7, #0xab -_0206B3F2: - ldr r5, [sp, #0x0] - mov r4, #0x0 -_0206B3F6: - add r0, r5, #0x0 - add r1, r7, #0x0 - mov r2, #0x0 - bl GetBoxMonData - cmp r0, #0x0 - beq _0206B406 - add r6, r6, #0x1 -_0206B406: - add r4, r4, #0x1 - add r5, #0x88 - cmp r4, #0x1e - blt _0206B3F6 - mov r0, #0xff - ldr r1, [sp, #0x0] - lsl r0, r0, #0x4 - add r0, r1, r0 - str r0, [sp, #0x0] - ldr r0, [sp, #0x4] - add r0, r0, #0x1 - str r0, [sp, #0x4] - cmp r0, #0x12 - blt _0206B3F2 - add r0, r6, #0x0 - add sp, #0x8 - pop {r3-r7, pc} - - thumb_func_start PCStorage_SetActiveBox -PCStorage_SetActiveBox: ; 0x0206B428 - push {r3, lr} - cmp r1, #0x12 - bhs _0206B436 - str r1, [r0, #0x0] - bl SaveSetDirtyBit - pop {r3, pc} -_0206B436: - bl ErrorHandling - pop {r3, pc} - - thumb_func_start PCStorage_GetBoxWallpaper -PCStorage_GetBoxWallpaper: ; 0x0206B43C - push {r3, lr} - cmp r1, #0x12 - bhs _0206B44A - add r1, r0, r1 - ldr r0, _0206B454 ; =0x000121B4 - ldrb r0, [r1, r0] - pop {r3, pc} -_0206B44A: - bl ErrorHandling - mov r0, #0x0 - pop {r3, pc} - nop -_0206B454: .word 0x000121B4 - - thumb_func_start PCStorage_SetBoxWallpaper -PCStorage_SetBoxWallpaper: ; 0x0206B458 - push {r3, lr} - mov r3, #0x0 - mvn r3, r3 - cmp r1, r3 - bne _0206B464 - ldr r1, [r0, #0x0] -_0206B464: - cmp r1, #0x12 - bhs _0206B478 - cmp r2, #0x18 - bhs _0206B478 - add r1, r0, r1 - ldr r0, _0206B480 ; =0x000121B4 - strb r2, [r1, r0] - bl SaveSetDirtyBit - pop {r3, pc} -_0206B478: - bl ErrorHandling - pop {r3, pc} - nop -_0206B480: .word 0x000121B4 - - thumb_func_start PCStorage_GetBoxName -PCStorage_GetBoxName: ; 0x0206B484 - push {r3, lr} - add r3, r0, #0x0 - mov r0, #0x0 - mvn r0, r0 - cmp r1, r0 - bne _0206B492 - ldr r1, [r3, #0x0] -_0206B492: - cmp r1, #0x12 - bhs _0206B4A8 - add r0, r2, #0x0 - ldr r2, _0206B4B0 ; =0x00011EE4 - add r3, r3, r2 - mov r2, #0x28 - mul r2, r1 - add r1, r3, r2 - bl CopyU16ArrayToString - pop {r3, pc} -_0206B4A8: - bl ErrorHandling - pop {r3, pc} - nop -_0206B4B0: .word 0x00011EE4 - - thumb_func_start PCStorage_SetBoxName -PCStorage_SetBoxName: ; 0x0206B4B4 - push {r3, lr} - add r3, r0, #0x0 - mov r0, #0x0 - mvn r0, r0 - cmp r1, r0 - bne _0206B4C2 - ldr r1, [r3, #0x0] -_0206B4C2: - cmp r1, #0x12 - bhs _0206B4DC - add r0, r2, #0x0 - ldr r2, _0206B4E0 ; =0x00011EE4 - add r3, r3, r2 - mov r2, #0x28 - mul r2, r1 - add r1, r3, r2 - mov r2, #0x14 - bl CopyStringToU16Array - bl SaveSetDirtyBit -_0206B4DC: - pop {r3, pc} - nop -_0206B4E0: .word 0x00011EE4 - - thumb_func_start PCStorage_CountMonsAndEggsInBox -PCStorage_CountMonsAndEggsInBox: ; 0x0206B4E4 - push {r3-r7, lr} - mov r2, #0x0 - mvn r2, r2 - cmp r1, r2 - bne _0206B4F0 - ldr r1, [r0, #0x0] -_0206B4F0: - cmp r1, #0x12 - bhs _0206B520 - add r2, r0, #0x4 - mov r0, #0xff - lsl r0, r0, #0x4 - mov r4, #0x0 - mul r0, r1 - add r6, r4, #0x0 - add r5, r2, r0 - mov r7, #0xab -_0206B504: - add r0, r5, #0x0 - add r1, r7, #0x0 - mov r2, #0x0 - bl GetBoxMonData - cmp r0, #0x0 - beq _0206B514 - add r4, r4, #0x1 -_0206B514: - add r6, r6, #0x1 - add r5, #0x88 - cmp r6, #0x1e - blt _0206B504 - add r0, r4, #0x0 - pop {r3-r7, pc} -_0206B520: - bl ErrorHandling - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start PCStorage_CountMonsInBox -PCStorage_CountMonsInBox: ; 0x0206B528 - push {r3-r7, lr} - mov r2, #0x0 - mvn r2, r2 - cmp r1, r2 - bne _0206B534 - ldr r1, [r0, #0x0] -_0206B534: - cmp r1, #0x12 - bhs _0206B572 - add r2, r0, #0x4 - mov r0, #0xff - lsl r0, r0, #0x4 - mov r4, #0x0 - mul r0, r1 - add r6, r4, #0x0 - add r5, r2, r0 - mov r7, #0xab -_0206B548: - add r0, r5, #0x0 - add r1, r7, #0x0 - mov r2, #0x0 - bl GetBoxMonData - cmp r0, #0x0 - beq _0206B566 - add r0, r5, #0x0 - mov r1, #0x4c - mov r2, #0x0 - bl GetBoxMonData - cmp r0, #0x0 - bne _0206B566 - add r4, r4, #0x1 -_0206B566: - add r6, r6, #0x1 - add r5, #0x88 - cmp r6, #0x1e - blt _0206B548 - add r0, r4, #0x0 - pop {r3-r7, pc} -_0206B572: - bl ErrorHandling - mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start PCStorage_CountMonsInAllBoxes -PCStorage_CountMonsInAllBoxes: ; 0x0206B57C - push {r4-r6, lr} - mov r5, #0x0 - add r6, r0, #0x0 - add r4, r5, #0x0 -_0206B584: - add r0, r6, #0x0 - add r1, r5, #0x0 - bl PCStorage_CountMonsInBox - add r5, r5, #0x1 - add r4, r4, r0 - cmp r5, #0x12 - blo _0206B584 - add r0, r4, #0x0 - pop {r4-r6, pc} - - thumb_func_start PCStorage_SetBoxMonDataByIndexPair -PCStorage_SetBoxMonDataByIndexPair: ; 0x0206B598 - push {r3-r7, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - add r6, r2, #0x0 - add r7, r3, #0x0 - cmp r4, #0x12 - blo _0206B5B2 - mov r0, #0x0 - mvn r0, r0 - cmp r4, r0 - beq _0206B5B2 - bl ErrorHandling -_0206B5B2: - cmp r6, #0x1e - blo _0206B5BA - bl ErrorHandling -_0206B5BA: - mov r0, #0x0 - mvn r0, r0 - cmp r4, r0 - bne _0206B5C4 - ldr r4, [r5, #0x0] -_0206B5C4: - mov r0, #0xff - lsl r0, r0, #0x4 - add r1, r5, #0x4 - mul r0, r4 - add r1, r1, r0 - mov r0, #0x88 - mul r0, r6 - add r0, r1, r0 - ldr r2, [sp, #0x18] - add r1, r7, #0x0 - bl SetBoxMonData - bl SaveSetDirtyBit - pop {r3-r7, pc} - .balign 4 - - thumb_func_start PCStorage_GetMonByIndexPair -PCStorage_GetMonByIndexPair: ; 0x0206B5E4 - push {r4-r6, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - add r6, r2, #0x0 - cmp r4, #0x12 - blo _0206B5FC - mov r0, #0x0 - mvn r0, r0 - cmp r4, r0 - beq _0206B5FC - bl ErrorHandling -_0206B5FC: - cmp r6, #0x1e - blo _0206B604 - bl ErrorHandling -_0206B604: - mov r0, #0x0 - mvn r0, r0 - cmp r4, r0 - bne _0206B60E - ldr r4, [r5, #0x0] -_0206B60E: - mov r0, #0xff - lsl r0, r0, #0x4 - add r1, r5, #0x4 - mul r0, r4 - add r1, r1, r0 - mov r0, #0x88 - mul r0, r6 - add r0, r1, r0 - pop {r4-r6, pc} - - thumb_func_start PCStorage_UnlockBonusWallpaper -PCStorage_UnlockBonusWallpaper: ; 0x0206B620 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - cmp r4, #0x8 - blo _0206B62E - bl ErrorHandling -_0206B62E: - ldr r0, _0206B640 ; =0x000121C6 - mov r1, #0x1 - ldrb r2, [r5, r0] - lsl r1, r4 - orr r1, r2 - strb r1, [r5, r0] - bl SaveSetDirtyBit - pop {r3-r5, pc} - .balign 4 -_0206B640: .word 0x000121C6 - - thumb_func_start PCStorage_IsBonusWallpaperUnlocked -PCStorage_IsBonusWallpaperUnlocked: ; 0x0206B644 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - cmp r4, #0x8 - blo _0206B652 - bl ErrorHandling -_0206B652: - ldr r0, _0206B664 ; =0x000121C6 - ldrb r2, [r5, r0] - mov r0, #0x1 - add r1, r0, #0x0 - lsl r1, r4 - tst r1, r2 - bne _0206B662 - mov r0, #0x0 -_0206B662: - pop {r3-r5, pc} - .balign 4 -_0206B664: .word 0x000121C6 - - thumb_func_start PCStorage_CountUnlockedBonusWallpapers -PCStorage_CountUnlockedBonusWallpapers: ; 0x0206B668 - push {r4-r6, lr} - mov r4, #0x0 - add r6, r0, #0x0 - add r5, r4, #0x0 -_0206B670: - add r0, r6, #0x0 - add r1, r4, #0x0 - bl PCStorage_IsBonusWallpaperUnlocked - cmp r0, #0x0 - beq _0206B67E - add r5, r5, #0x1 -_0206B67E: - add r4, r4, #0x1 - cmp r4, #0x8 - blo _0206B670 - add r0, r5, #0x0 - pop {r4-r6, pc} diff --git a/arm9/asm/save.s b/arm9/asm/save.s deleted file mode 100644 index a29733dc..00000000 --- a/arm9/asm/save.s +++ /dev/null @@ -1,2478 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .section .rodata - - .global UNK_020EE6D8 -UNK_020EE6D8: ; 0x020EE6D8 - .word 2 - - .global UNK_020EE6DC -UNK_020EE6DC: ; 0x020EE6DC - .word 36 - - .global UNK_020EE6E0 -UNK_020EE6E0: ; 0x020EE6E0 - .word 0x00, 0x20, FUN_0202B034, FUN_0202B03C - .word 0x01, 0x23, FUN_0202AC20, FUN_0202AC28 - - .global UNK_020EE700 -UNK_020EE700: ; 0x020EE700 - .word 0x00, 0x00, FUN_0202376C, FUN_02023770 - .word 0x01, 0x00, Sav2_PlayerData_sizeof, Sav2_PlayerData_init - .word 0x02, 0x00, SavArray_Party_sizeof, SavArray_Party_init - .word 0x03, 0x00, Sav2_Bag_sizeof, Sav2_Bag_init - .word 0x04, 0x00, SavArray_Flags_sizeof, SavArray_Flags_init - .word 0x05, 0x00, FUN_0204BE14, FUN_0204BE18 - .word 0x06, 0x00, FUN_02034D7C, FUN_02034D98 - .word 0x07, 0x00, FUN_02023D64, FUN_02024378 - .word 0x08, 0x00, FUN_02023C40, FUN_02023C48 - .word 0x09, 0x00, FUN_020254B8, FUN_020254CC - .word 0x0A, 0x00, FUN_02024E64, FUN_02024E6C - .word 0x0B, 0x00, FUN_02034D80, FUN_02034D88 - .word 0x0C, 0x00, FUN_02025954, FUN_0202597C - .word 0x0D, 0x00, FUN_02023AC8, FUN_02023AD8 - .word 0x0E, 0x00, FUN_02026FD8, FUN_02026F60 - .word 0x0F, 0x00, FUN_02025844, FUN_0202584C - .word 0x10, 0x00, FUN_02028054, FUN_0202805C - .word 0x11, 0x00, FUN_020286F8, FUN_02028724 - .word 0x12, 0x00, FUN_02028980, FUN_02028994 - .word 0x13, 0x00, FUN_02029A84, FUN_02029A8C - .word 0x14, 0x00, FUN_02029FB0, FUN_02029FB8 - .word 0x15, 0x00, FUN_02029C58, FUN_02029C60 - .word 0x16, 0x00, FUN_02029EC4, FUN_02029ECC - .word 0x17, 0x00, FUN_0202A89C, FUN_0202A8A4 - .word 0x18, 0x00, FUN_0202A8F4, FUN_0202A8F8 - .word 0x19, 0x00, FUN_0202A924, FUN_0202A92C - .word 0x1A, 0x00, FUN_0202ABC8, FUN_0202ABCC - .word 0x1B, 0x00, FUN_0202B374, FUN_0202B37C - .word 0x1C, 0x00, FUN_0202B8B0, FUN_0202B8B8 - .word 0x1D, 0x00, FUN_020281E0, FUN_020281E8 - .word 0x1E, 0x00, FUN_02029AE0, FUN_02029AE8 - .word 0x1F, 0x00, FUN_0202AC20, FUN_0202AC28 - .word 0x20, 0x00, FUN_0202BE98, FUN_0202BEA0 - .word 0x21, 0x00, FUN_0202C0E0, FUN_0202C0E4 - .word 0x22, 0x00, FUN_02013B28, FUN_02013B2C - .word 0x23, 0x01, PCStorage_sizeof, PCStorage_init - - .section .bss - - .global UNK_021C59C8 -UNK_021C59C8: ; 0x021C59C8 - .space 0x8 - - .text - - thumb_func_start SaveBlock2_new -SaveBlock2_new: ; 0x0202254C - push {r4, lr} - ldr r1, _020225E0 ; =0x000204A8 - mov r0, #0x1 - bl AllocFromHeap - add r4, r0, #0x0 - ldr r2, _020225E0 ; =0x000204A8 - mov r0, #0x0 - add r1, r4, #0x0 - bl MIi_CpuClearFast - ldr r0, _020225E4 ; =UNK_021C59C8 - str r4, [r0, #0x0] - bl SaveDetectFlash - str r0, [r4, #0x0] - mov r0, #0x0 - str r0, [r4, #0x4] - mov r0, #0x1 - str r0, [r4, #0x8] - str r0, [r4, #0xc] - add r0, r4, #0x0 - ldr r1, _020225E8 ; =0x00001021 - add r0, #0x14 - bl MATHi_CRC16InitTable - ldr r0, _020225EC ; =0x00020224 - add r0, r4, r0 - bl SaveBlock2_InitSubstructs - ldr r0, _020225F0 ; =0x00020464 - ldr r1, _020225EC ; =0x00020224 - add r0, r4, r0 - add r1, r4, r1 - bl FUN_02023160 - ldr r1, _020225F4 ; =0x00020218 - mov r0, #0x0 - add r1, r4, r1 - mov r2, #0x8 - bl MIi_CpuClearFast - add r0, r4, #0x0 - bl FUN_02022AD8 - str r0, [r4, #0x10] - cmp r0, #0x3 - bhi _020225DA - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020225B8: ; jump table (using 16-bit offset) - .short _020225D4 - _020225B8 - 2; case 0 - .short _020225C0 - _020225B8 - 2; case 1 - .short _020225C4 - _020225B8 - 2; case 2 - .short _020225D4 - _020225B8 - 2; case 3 -_020225C0: - mov r0, #0x0 - str r0, [r4, #0xc] -_020225C4: - add r0, r4, #0x0 - bl FUN_02022D08 - mov r0, #0x1 - str r0, [r4, #0x4] - mov r0, #0x0 - str r0, [r4, #0x8] - b _020225DA -_020225D4: - add r0, r4, #0x0 - bl Sav2_InitDynamicRegion -_020225DA: - add r0, r4, #0x0 - pop {r4, pc} - nop -_020225E0: .word 0x000204A8 -_020225E4: .word UNK_021C59C8 -_020225E8: .word 0x00001021 -_020225EC: .word 0x00020224 -_020225F0: .word 0x00020464 -_020225F4: .word 0x00020218 - - thumb_func_start FUN_020225F8 -FUN_020225F8: ; 0x020225F8 - push {r3, lr} - ldr r0, _0202260C ; =UNK_021C59C8 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _02022606 - bl ErrorHandling -_02022606: - ldr r0, _0202260C ; =UNK_021C59C8 - ldr r0, [r0, #0x0] - pop {r3, pc} - .balign 4 -_0202260C: .word UNK_021C59C8 - - thumb_func_start SavArray_get -SavArray_get: ; 0x02022610 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - cmp r4, #0x24 - blt _0202261E - bl ErrorHandling -_0202261E: - mov r0, #0x85 - lsl r0, r0, #0x2 - add r2, r5, r0 - lsl r0, r4, #0x4 - add r1, r5, r0 - ldr r0, _02022630 ; =0x0002022C - ldr r0, [r1, r0] - add r0, r2, r0 - pop {r3-r5, pc} - .balign 4 -_02022630: .word 0x0002022C - - thumb_func_start FUN_02022634 -FUN_02022634: ; 0x02022634 - ldr r3, _02022638 ; =SavArray_get - bx r3 - .balign 4 -_02022638: .word SavArray_get - - thumb_func_start FUN_0202263C -FUN_0202263C: ; 0x0202263C - push {r3-r7, lr} - mov r1, #0x1 - str r0, [sp, #0x0] - mov r0, #0x3 - lsl r1, r1, #0xc - bl AllocFromHeapAtEnd - add r6, r0, #0x0 - mov r0, #0x1 - bl FUN_02016444 - ldr r1, _020226F4 ; =0x00020220 - ldr r0, [sp, #0x0] - ldrb r0, [r0, r1] - cmp r0, #0x0 - bne _02022660 - mov r2, #0x1 - b _02022662 -_02022660: - mov r2, #0x0 -_02022662: - ldr r0, [sp, #0x0] - mov r1, #0x0 - bl FlashClobberChunkFooter - ldr r1, _020226F8 ; =0x00020221 - ldr r0, [sp, #0x0] - ldrb r0, [r0, r1] - cmp r0, #0x0 - bne _02022678 - mov r2, #0x1 - b _0202267A -_02022678: - mov r2, #0x0 -_0202267A: - ldr r0, [sp, #0x0] - mov r1, #0x1 - bl FlashClobberChunkFooter - ldr r0, [sp, #0x0] - ldr r3, _020226F4 ; =0x00020220 - add r2, r0, #0x0 - ldrb r2, [r2, r3] - mov r1, #0x0 - bl FlashClobberChunkFooter - ldr r0, [sp, #0x0] - ldr r3, _020226F8 ; =0x00020221 - add r2, r0, #0x0 - ldrb r2, [r2, r3] - mov r1, #0x1 - bl FlashClobberChunkFooter - mov r0, #0x0 - mov r2, #0x1 - mvn r0, r0 - add r1, r6, #0x0 - lsl r2, r2, #0xc - bl MIi_CpuClearFast - mov r4, #0x0 - mov r7, #0x1 - add r5, r4, #0x0 - lsl r7, r7, #0xc -_020226B4: - add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, r7, #0x0 - bl FlashWriteChunk - add r0, r4, #0x0 - add r0, #0x40 - lsl r0, r0, #0xc - add r1, r6, #0x0 - add r2, r7, #0x0 - bl FlashWriteChunk - mov r0, #0x1 - lsl r0, r0, #0xc - add r4, r4, #0x1 - add r5, r5, r0 - cmp r4, #0x40 - blt _020226B4 - add r0, r6, #0x0 - bl FreeToHeap - ldr r0, [sp, #0x0] - bl Sav2_InitDynamicRegion - ldr r0, [sp, #0x0] - mov r1, #0x0 - str r1, [r0, #0x4] - mov r0, #0x1 - bl FUN_02016454 - mov r0, #0x1 - pop {r3-r7, pc} - .balign 4 -_020226F4: .word 0x00020220 -_020226F8: .word 0x00020221 - - thumb_func_start FUN_020226FC -FUN_020226FC: ; 0x020226FC - push {r4, lr} - add r4, r0, #0x0 - ldr r1, [r4, #0x0] - cmp r1, #0x0 - bne _0202270A - mov r0, #0x0 - pop {r4, pc} -_0202270A: - bl FUN_02022D08 - cmp r0, #0x0 - beq _0202271C - mov r0, #0x1 - str r0, [r4, #0x4] - mov r1, #0x0 - str r1, [r4, #0x8] - pop {r4, pc} -_0202271C: - mov r0, #0x0 - pop {r4, pc} - - thumb_func_start FUN_02022720 -FUN_02022720: ; 0x02022720 - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - bne _0202272E - mov r0, #0x3 - pop {r4, pc} -_0202272E: - ldr r0, [r4, #0x8] - cmp r0, #0x0 - beq _02022784 - mov r0, #0x1 - bl FUN_02016444 - ldr r0, _02022798 ; =0x00020220 - ldrb r0, [r4, r0] - cmp r0, #0x0 - bne _02022746 - mov r2, #0x1 - b _02022748 -_02022746: - mov r2, #0x0 -_02022748: - add r0, r4, #0x0 - mov r1, #0x0 - bl FlashClobberChunkFooter - ldr r0, _0202279C ; =0x00020221 - ldrb r0, [r4, r0] - cmp r0, #0x0 - bne _0202275C - mov r2, #0x1 - b _0202275E -_0202275C: - mov r2, #0x0 -_0202275E: - add r0, r4, #0x0 - mov r1, #0x1 - bl FlashClobberChunkFooter - ldr r2, _02022798 ; =0x00020220 - add r0, r4, #0x0 - ldrb r2, [r4, r2] - mov r1, #0x0 - bl FlashClobberChunkFooter - ldr r2, _0202279C ; =0x00020221 - add r0, r4, #0x0 - ldrb r2, [r4, r2] - mov r1, #0x1 - bl FlashClobberChunkFooter - mov r0, #0x1 - bl FUN_02016454 -_02022784: - add r0, r4, #0x0 - bl FUN_02023044 - cmp r0, #0x2 - bne _02022796 - mov r1, #0x1 - str r1, [r4, #0x4] - mov r1, #0x0 - str r1, [r4, #0x8] -_02022796: - pop {r4, pc} - .balign 4 -_02022798: .word 0x00020220 -_0202279C: .word 0x00020221 - - thumb_func_start FUN_020227A0 -FUN_020227A0: ; 0x020227A0 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - cmp r4, #0x2 - blt _020227AE - bl ErrorHandling -_020227AE: - ldr r0, [r5, #0x8] - cmp r0, #0x0 - beq _020227B8 - bl ErrorHandling -_020227B8: - ldr r0, [r5, #0x4] - cmp r0, #0x1 - beq _020227C2 - bl ErrorHandling -_020227C2: - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_02022840 -_020227CA: - add r0, r5, #0x0 - bl FUN_02022854 - cmp r0, #0x0 - beq _020227CA - cmp r0, #0x1 - beq _020227CA - pop {r3-r5, pc} - .balign 4 - - thumb_func_start Sav2_InitDynamicRegion -Sav2_InitDynamicRegion: ; 0x020227DC - add r2, r0, #0x0 - mov r0, #0x1 - str r0, [r2, #0x8] - str r0, [r2, #0xc] - mov r0, #0x85 - ldr r1, _020227F4 ; =0x00020224 - lsl r0, r0, #0x2 - ldr r3, _020227F8 ; =Sav2_InitDynamicRegion_Internal - add r0, r2, r0 - add r1, r2, r1 - bx r3 - nop -_020227F4: .word 0x00020224 -_020227F8: .word Sav2_InitDynamicRegion_Internal - - thumb_func_start FUN_020227FC -FUN_020227FC: ; 0x020227FC - ldr r0, [r0, #0x0] - bx lr - - thumb_func_start FUN_02022800 -FUN_02022800: ; 0x02022800 - ldr r0, [r0, #0x10] - bx lr - - thumb_func_start FUN_02022804 -FUN_02022804: ; 0x02022804 - ldr r0, [r0, #0x4] - bx lr - - thumb_func_start FUN_02022808 -FUN_02022808: ; 0x02022808 - ldr r0, [r0, #0x8] - bx lr - - thumb_func_start FUN_0202280C -FUN_0202280C: ; 0x0202280C - push {r4, lr} - add r4, r0, #0x0 - bl FUN_02022808 - cmp r0, #0x0 - beq _02022826 - add r0, r4, #0x0 - bl FUN_02022804 - cmp r0, #0x0 - beq _02022826 - mov r0, #0x1 - pop {r4, pc} -_02022826: - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start SaveGetDirtyBit -SaveGetDirtyBit: ; 0x0202282C - ldr r0, [r0, #0xc] - bx lr - - thumb_func_start SaveSetDirtyBit -SaveSetDirtyBit: ; 0x02022830 - ldr r0, _0202283C ; =UNK_021C59C8 - mov r1, #0x1 - ldr r0, [r0, #0x0] - str r1, [r0, #0xc] - bx lr - nop -_0202283C: .word UNK_021C59C8 - - thumb_func_start FUN_02022840 -FUN_02022840: ; 0x02022840 - add r2, r1, #0x0 - ldr r1, _0202284C ; =0x0002047C - ldr r3, _02022850 ; =FUN_02022DFC - add r1, r0, r1 - bx r3 - nop -_0202284C: .word 0x0002047C -_02022850: .word FUN_02022DFC - - thumb_func_start FUN_02022854 -FUN_02022854: ; 0x02022854 - push {r3-r5, lr} - ldr r1, _02022878 ; =0x0002047C - add r5, r0, #0x0 - add r1, r5, r1 - bl FUN_02022E78 - add r4, r0, #0x0 - beq _02022874 - cmp r4, #0x1 - beq _02022874 - ldr r1, _02022878 ; =0x0002047C - add r0, r5, #0x0 - add r1, r5, r1 - add r2, r4, #0x0 - bl FUN_02022F80 -_02022874: - add r0, r4, #0x0 - pop {r3-r5, pc} - .balign 4 -_02022878: .word 0x0002047C - - thumb_func_start FUN_0202287C -FUN_0202287C: ; 0x0202287C - ldr r1, _02022884 ; =0x0002047C - ldr r3, _02022888 ; =FUN_02022FF0 - add r1, r0, r1 - bx r3 - .balign 4 -_02022884: .word 0x0002047C -_02022888: .word FUN_02022FF0 - - thumb_func_start FUN_0202288C -FUN_0202288C: ; 0x0202288C - mov r1, #0x0 - str r1, [r0, #0x0] - str r1, [r0, #0x4] - str r1, [r0, #0x8] - bx lr - .balign 4 - - thumb_func_start FUN_02022898 -FUN_02022898: ; 0x02022898 - ldr r3, _020228A0 ; =MATH_CalcCRC16CCITT - add r0, #0x14 - sub r2, #0x14 - bx r3 - .balign 4 -_020228A0: .word MATH_CalcCRC16CCITT - - thumb_func_start GetChunkOffsetFromCurrentSaveSlot -GetChunkOffsetFromCurrentSaveSlot: ; 0x020228A4 - cmp r0, #0x0 - bne _020228AC - mov r2, #0x0 - b _020228B0 -_020228AC: - mov r2, #0x1 - lsl r2, r2, #0x12 -_020228B0: - ldr r0, [r1, #0x4] - add r0, r2, r0 - bx lr - .balign 4 - - thumb_func_start FUN_020228B8 -FUN_020228B8: ; 0x020228B8 - push {r3-r5, lr} - ldr r3, _020228DC ; =0x00020464 - add r3, r0, r3 - mov r0, #0xc - mul r0, r2 - add r5, r3, r0 - ldr r0, [r5, #0x4] - add r4, r1, r0 - ldr r0, [r5, #0x8] - cmp r0, #0x0 - bne _020228D2 - bl ErrorHandling -_020228D2: - ldr r0, [r5, #0x8] - add r0, r4, r0 - sub r0, #0x14 - pop {r3-r5, pc} - nop -_020228DC: .word 0x00020464 - - thumb_func_start FUN_020228E0 -FUN_020228E0: ; 0x020228E0 - push {r3-r7, lr} - ldr r4, _02022934 ; =0x00020464 - add r3, r0, #0x0 - add r3, r3, r4 - add r5, r2, #0x0 - mov r4, #0xc - mul r4, r5 - str r0, [sp, #0x0] - add r7, r1, #0x0 - add r6, r3, r4 - bl FUN_020228B8 - add r4, r0, #0x0 - ldr r2, [r6, #0x8] - ldr r0, [r4, #0x8] - ldr r1, [r6, #0x4] - cmp r0, r2 - beq _02022908 - mov r0, #0x0 - pop {r3-r7, pc} -_02022908: - ldr r3, [r4, #0xc] - ldr r0, _02022938 ; =0x20060623 - cmp r3, r0 - beq _02022914 - mov r0, #0x0 - pop {r3-r7, pc} -_02022914: - ldrb r0, [r4, #0x10] - cmp r0, r5 - beq _0202291E - mov r0, #0x0 - pop {r3-r7, pc} -_0202291E: - ldr r0, [sp, #0x0] - add r1, r7, r1 - bl FUN_02022898 - ldrh r1, [r4, #0x12] - cmp r1, r0 - bne _02022930 - mov r0, #0x1 - pop {r3-r7, pc} -_02022930: - mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 -_02022934: .word 0x00020464 -_02022938: .word 0x20060623 - - thumb_func_start FUN_0202293C -FUN_0202293C: ; 0x0202293C - push {r3-r7, lr} - add r7, r2, #0x0 - add r6, r1, #0x0 - add r5, r0, #0x0 - str r3, [sp, #0x0] - add r0, r6, #0x0 - add r1, r7, #0x0 - add r2, r3, #0x0 - bl FUN_020228B8 - add r4, r0, #0x0 - ldr r2, [sp, #0x0] - add r0, r6, #0x0 - add r1, r7, #0x0 - bl FUN_020228E0 - str r0, [r5, #0x0] - ldr r0, [r4, #0x0] - str r0, [r5, #0x4] - ldr r0, [r4, #0x4] - str r0, [r5, #0x8] - pop {r3-r7, pc} - - thumb_func_start FUN_02022968 -FUN_02022968: ; 0x02022968 - push {r3-r7, lr} - ldr r3, _020229AC ; =0x00020464 - add r5, r0, #0x0 - add r7, r2, #0x0 - mov r4, #0xc - add r3, r5, r3 - mul r4, r7 - str r1, [sp, #0x0] - add r6, r3, r4 - bl FUN_020228B8 - ldr r2, _020229B0 ; =0x00020214 - add r4, r0, #0x0 - ldr r0, [r5, r2] - ldr r1, [r6, #0x4] - add r2, r2, #0x4 - str r0, [r4, #0x0] - lsl r0, r7, #0x2 - add r0, r5, r0 - ldr r0, [r0, r2] - ldr r2, [sp, #0x0] - str r0, [r4, #0x4] - ldr r0, [r6, #0x8] - add r1, r2, r1 - str r0, [r4, #0x8] - ldr r0, _020229B4 ; =0x20060623 - str r0, [r4, #0xc] - strb r7, [r4, #0x10] - ldr r2, [r6, #0x8] - add r0, r5, #0x0 - bl FUN_02022898 - strh r0, [r4, #0x12] - pop {r3-r7, pc} - .balign 4 -_020229AC: .word 0x00020464 -_020229B0: .word 0x00020214 -_020229B4: .word 0x20060623 - - thumb_func_start FUN_020229B8 -FUN_020229B8: ; 0x020229B8 - mov r2, #0x0 - mvn r2, r2 - cmp r0, r2 - bne _020229C8 - cmp r1, #0x0 - bne _020229C8 - add r0, r2, #0x0 - bx lr -_020229C8: - cmp r0, #0x0 - bne _020229D8 - mov r2, #0x0 - mvn r2, r2 - cmp r1, r2 - bne _020229D8 - mov r0, #0x1 - bx lr -_020229D8: - cmp r0, r1 - bls _020229E0 - mov r0, #0x1 - bx lr -_020229E0: - cmp r0, r1 - bhs _020229E8 - mov r0, #0x1 - b _020229EA -_020229E8: - mov r0, #0x0 -_020229EA: - neg r0, r0 - bx lr - .balign 4 - - thumb_func_start FUN_020229F0 -FUN_020229F0: ; 0x020229F0 - push {r3-r7, lr} - add r7, r0, #0x0 - add r6, r1, #0x0 - ldr r0, [r7, #0x4] - ldr r1, [r6, #0x4] - add r5, r2, #0x0 - add r4, r3, #0x0 - bl FUN_020229B8 - str r0, [sp, #0x0] - ldr r0, [r7, #0x8] - ldr r1, [r6, #0x8] - bl FUN_020229B8 - ldr r2, [r7, #0x0] - cmp r2, #0x0 - beq _02022A6A - ldr r1, [r6, #0x0] - cmp r1, #0x0 - beq _02022A6A - ldr r1, [sp, #0x0] - cmp r1, #0x0 - ble _02022A30 - cmp r0, #0x0 - bgt _02022A26 - bl ErrorHandling -_02022A26: - mov r0, #0x0 - str r0, [r5, #0x0] - mov r0, #0x1 - str r0, [r4, #0x0] - b _02022A66 -_02022A30: - bge _02022A44 - cmp r0, #0x0 - blt _02022A3A - bl ErrorHandling -_02022A3A: - mov r0, #0x1 - str r0, [r5, #0x0] - mov r0, #0x0 - str r0, [r4, #0x0] - b _02022A66 -_02022A44: - cmp r0, #0x0 - ble _02022A52 - mov r0, #0x0 - str r0, [r5, #0x0] - mov r0, #0x1 - str r0, [r4, #0x0] - b _02022A66 -_02022A52: - bge _02022A5E - mov r0, #0x1 - str r0, [r5, #0x0] - mov r0, #0x0 - str r0, [r4, #0x0] - b _02022A66 -_02022A5E: - mov r0, #0x0 - str r0, [r5, #0x0] - mov r0, #0x1 - str r0, [r4, #0x0] -_02022A66: - mov r0, #0x2 - pop {r3-r7, pc} -_02022A6A: - cmp r2, #0x0 - beq _02022A80 - ldr r0, [r6, #0x0] - cmp r0, #0x0 - bne _02022A80 - mov r0, #0x0 - str r0, [r5, #0x0] - mov r0, #0x2 - str r0, [r4, #0x0] - mov r0, #0x1 - pop {r3-r7, pc} -_02022A80: - cmp r2, #0x0 - bne _02022A94 - ldr r0, [r6, #0x0] - cmp r0, #0x0 - beq _02022A94 - mov r0, #0x1 - str r0, [r5, #0x0] - mov r1, #0x2 - str r1, [r4, #0x0] - pop {r3-r7, pc} -_02022A94: - mov r0, #0x2 - str r0, [r5, #0x0] - str r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_02022AA0 -FUN_02022AA0: ; 0x02022AA0 - push {r3-r6} - mov r4, #0xc - add r5, r3, #0x0 - mul r5, r4 - add r6, r1, r5 - ldr r5, [r6, #0x4] - ldr r1, _02022AD4 ; =0x00020214 - str r5, [r0, r1] - ldr r6, [r6, #0x8] - add r5, r1, #0x4 - str r6, [r0, r5] - ldr r5, [sp, #0x10] - mul r4, r5 - add r2, r2, r4 - ldr r4, [r2, #0x8] - add r2, r1, #0x0 - add r2, #0x8 - str r4, [r0, r2] - add r2, r1, #0x0 - add r2, #0xc - strb r3, [r0, r2] - add r1, #0xd - strb r5, [r0, r1] - pop {r3-r6} - bx lr - nop -_02022AD4: .word 0x00020214 - - thumb_func_start FUN_02022AD8 -FUN_02022AD8: ; 0x02022AD8 - push {r3-r6, lr} - sub sp, #0x44 - mov r1, #0x2 - add r5, r0, #0x0 - mov r0, #0x3 - lsl r1, r1, #0x10 - bl AllocFromHeapAtEnd - mov r1, #0x2 - add r6, r0, #0x0 - mov r0, #0x3 - lsl r1, r1, #0x10 - bl AllocFromHeapAtEnd - mov r2, #0x2 - add r4, r0, #0x0 - mov r0, #0x0 - add r1, r6, #0x0 - lsl r2, r2, #0x10 - bl FlashLoadChunk - cmp r0, #0x0 - add r0, sp, #0x2c - beq _02022B20 - add r1, r5, #0x0 - add r2, r6, #0x0 - mov r3, #0x0 - bl FUN_0202293C - add r0, sp, #0x14 - add r1, r5, #0x0 - add r2, r6, #0x0 - mov r3, #0x1 - bl FUN_0202293C - b _02022B2A -_02022B20: - bl FUN_0202288C - add r0, sp, #0x14 - bl FUN_0202288C -_02022B2A: - mov r0, #0x1 - lsl r0, r0, #0x12 - add r1, r4, #0x0 - lsr r2, r0, #0x1 - bl FlashLoadChunk - cmp r0, #0x0 - add r0, sp, #0x38 - beq _02022B54 - add r1, r5, #0x0 - add r2, r4, #0x0 - mov r3, #0x0 - bl FUN_0202293C - add r0, sp, #0x20 - add r1, r5, #0x0 - add r2, r4, #0x0 - mov r3, #0x1 - bl FUN_0202293C - b _02022B5E -_02022B54: - bl FUN_0202288C - add r0, sp, #0x20 - bl FUN_0202288C -_02022B5E: - add r0, r6, #0x0 - bl FreeToHeap - add r0, r4, #0x0 - bl FreeToHeap - add r0, sp, #0x2c - add r1, sp, #0x38 - add r2, sp, #0x10 - add r3, sp, #0x8 - bl FUN_020229F0 - add r4, r0, #0x0 - add r0, sp, #0x14 - add r1, sp, #0x20 - add r2, sp, #0xc - add r3, sp, #0x4 - bl FUN_020229F0 - cmp r4, #0x0 - bne _02022B92 - cmp r0, #0x0 - bne _02022B92 - add sp, #0x44 - mov r0, #0x0 - pop {r3-r6, pc} -_02022B92: - cmp r4, #0x0 - beq _02022B9A - cmp r0, #0x0 - bne _02022BA0 -_02022B9A: - add sp, #0x44 - mov r0, #0x3 - pop {r3-r6, pc} -_02022BA0: - cmp r4, #0x2 - bne _02022BE4 - cmp r0, #0x2 - bne _02022BE4 - ldr r3, [sp, #0x10] - ldr r1, [sp, #0xc] - mov r2, #0xc - add r4, r3, #0x0 - mul r4, r2 - add r0, sp, #0x30 - ldr r0, [r0, r4] - add r4, r1, #0x0 - mul r4, r2 - add r2, sp, #0x18 - ldr r2, [r2, r4] - cmp r0, r2 - str r1, [sp, #0x0] - add r1, sp, #0x2c - bne _02022BD4 - add r0, r5, #0x0 - add r2, sp, #0x14 - bl FUN_02022AA0 - add sp, #0x44 - mov r0, #0x1 - pop {r3-r6, pc} -_02022BD4: - ldr r3, [sp, #0x8] - add r0, r5, #0x0 - add r2, sp, #0x14 - bl FUN_02022AA0 - add sp, #0x44 - mov r0, #0x2 - pop {r3-r6, pc} -_02022BE4: - cmp r4, #0x1 - bne _02022C3A - cmp r0, #0x2 - bne _02022C3A - ldr r3, [sp, #0x10] - ldr r0, [sp, #0xc] - mov r4, #0xc - add r2, r3, #0x0 - add r6, r0, #0x0 - mul r2, r4 - add r1, sp, #0x30 - ldr r2, [r1, r2] - mul r6, r4 - add r1, sp, #0x18 - ldr r6, [r1, r6] - cmp r2, r6 - bne _02022C18 - str r0, [sp, #0x0] - add r0, r5, #0x0 - add r1, sp, #0x2c - add r2, sp, #0x14 - bl FUN_02022AA0 - add sp, #0x44 - mov r0, #0x2 - pop {r3-r6, pc} -_02022C18: - ldr r0, [sp, #0x4] - mul r4, r0 - ldr r1, [r1, r4] - cmp r2, r1 - bne _02022C34 - str r0, [sp, #0x0] - add r0, r5, #0x0 - add r1, sp, #0x2c - add r2, sp, #0x14 - bl FUN_02022AA0 - add sp, #0x44 - mov r0, #0x2 - pop {r3-r6, pc} -_02022C34: - add sp, #0x44 - mov r0, #0x3 - pop {r3-r6, pc} -_02022C3A: - cmp r4, #0x2 - bne _02022C7E - cmp r0, #0x1 - bne _02022C7E - ldr r3, [sp, #0x10] - ldr r1, [sp, #0xc] - mov r2, #0xc - add r4, r3, #0x0 - mul r4, r2 - add r0, sp, #0x30 - ldr r0, [r0, r4] - add r4, r1, #0x0 - mul r4, r2 - add r2, sp, #0x18 - ldr r2, [r2, r4] - cmp r0, r2 - str r1, [sp, #0x0] - add r1, sp, #0x2c - bne _02022C6E - add r0, r5, #0x0 - add r2, sp, #0x14 - bl FUN_02022AA0 - add sp, #0x44 - mov r0, #0x1 - pop {r3-r6, pc} -_02022C6E: - ldr r3, [sp, #0x8] - add r0, r5, #0x0 - add r2, sp, #0x14 - bl FUN_02022AA0 - add sp, #0x44 - mov r0, #0x2 - pop {r3-r6, pc} -_02022C7E: - cmp r4, #0x1 - bne _02022CBC - cmp r0, #0x1 - bne _02022CBC - ldr r0, [sp, #0xc] - ldr r2, [sp, #0x10] - cmp r2, r0 - bne _02022CBC - add r3, r2, #0x0 - mov r1, #0xc - mul r3, r1 - add r2, sp, #0x30 - mul r1, r0 - add r0, sp, #0x18 - ldr r2, [r2, r3] - ldr r0, [r0, r1] - cmp r2, r0 - beq _02022CA6 - bl ErrorHandling -_02022CA6: - ldr r0, [sp, #0xc] - add r1, sp, #0x2c - str r0, [sp, #0x0] - ldr r3, [sp, #0x10] - add r0, r5, #0x0 - add r2, sp, #0x14 - bl FUN_02022AA0 - add sp, #0x44 - mov r0, #0x1 - pop {r3-r6, pc} -_02022CBC: - ldr r1, [sp, #0x10] - mov r0, #0xc - add r2, r1, #0x0 - mul r2, r0 - add r1, sp, #0x30 - ldr r3, [r1, r2] - ldr r1, [sp, #0xc] - add r2, r1, #0x0 - mul r2, r0 - add r0, sp, #0x18 - ldr r0, [r0, r2] - cmp r3, r0 - beq _02022CDA - bl ErrorHandling -_02022CDA: - ldr r0, [sp, #0xc] - add r1, sp, #0x2c - str r0, [sp, #0x0] - ldr r3, [sp, #0x10] - add r0, r5, #0x0 - add r2, sp, #0x14 - bl FUN_02022AA0 - mov r0, #0x2 - add sp, #0x44 - pop {r3-r6, pc} - - thumb_func_start FUN_02022CF0 -FUN_02022CF0: ; 0x02022CF0 - push {r3-r5, lr} - add r5, r1, #0x0 - add r4, r2, #0x0 - bl GetChunkOffsetFromCurrentSaveSlot - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - add r1, r4, r1 - bl FlashLoadChunk - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02022D08 -FUN_02022D08: ; 0x02022D08 - ; BOOL FUN_02022D08(struct SaveBlock2 * sav2) { - push {r3-r7, lr} - add r5, r0, #0x0 - ldr r0, _02022D4C ; =0x00020464 ; unk_20464 - mov r7, #0x85 ; dynamic_region - mov r4, #0x0 - add r6, r5, r0 - lsl r7, r7, #0x2 ; dynamic_region -_02022D16: ; for (int i = 0; i < 2; i++) { - ldr r0, _02022D50 ; =0x00020220 ; unk_20220 - add r1, r5, r4 - ldrb r0, [r1, r0] - add r1, r6, #0x0 - add r2, r5, r7 - bl FUN_02022CF0 ; if (!FUN_02022CF0(sav2->unk_20220[i], &sav2->unk_20464[i], sav2->dynamic_region)) return FALSE; - cmp r0, #0x0 - bne _02022D2C - mov r0, #0x0 - pop {r3-r7, pc} -_02022D2C: - add r0, r5, #0x0 - add r1, r5, r7 - add r2, r4, #0x0 - bl FUN_020228E0 ; if (!FUN_020228E0(sav2, sav2->dynamic_region, i)) return FALSE; - cmp r0, #0x0 - bne _02022D3E - mov r0, #0x0 - pop {r3-r7, pc} -_02022D3E: - add r4, r4, #0x1 - add r6, #0xc - cmp r4, #0x2 - blt _02022D16 ; } - mov r0, #0x1 ; return TRUE; } - pop {r3-r7, pc} - nop -_02022D4C: .word 0x00020464 -_02022D50: .word 0x00020220 - - thumb_func_start FUN_02022D54 -FUN_02022D54: ; 0x02022D54 - push {r4-r6, lr} - add r3, r1, #0x0 - ldr r1, _02022D90 ; =0x00020464 - add r5, r0, #0x0 - add r6, r2, #0x0 - add r2, r5, r1 - mov r1, #0xc - mul r1, r3 - add r4, r2, r1 - mov r1, #0x85 - lsl r1, r1, #0x2 - add r1, r5, r1 - add r2, r3, #0x0 - bl FUN_02022968 - add r0, r6, #0x0 - add r1, r4, #0x0 - bl GetChunkOffsetFromCurrentSaveSlot - mov r1, #0x85 - lsl r1, r1, #0x2 - add r2, r5, r1 - ldr r1, [r4, #0x4] - add r1, r2, r1 - ldr r2, [r4, #0x8] - sub r2, #0x14 - bl FlashWriteChunkInternal - pop {r4-r6, pc} - nop -_02022D90: .word 0x00020464 - - thumb_func_start FUN_02022D94 -FUN_02022D94: ; 0x02022D94 - push {r4-r6, lr} - add r6, r0, #0x0 - ldr r0, _02022DC4 ; =0x00020464 - add r3, r6, r0 - mov r0, #0xc - mul r0, r1 - add r4, r3, r0 - add r0, r2, #0x0 - add r1, r4, #0x0 - ldr r5, [r4, #0x8] - bl GetChunkOffsetFromCurrentSaveSlot - mov r1, #0x2 - lsl r1, r1, #0x8 - add r2, r6, r1 - ldr r1, [r4, #0x4] - add r0, r5, r0 - add r1, r2, r1 - sub r0, #0x14 - add r1, r1, r5 - mov r2, #0x14 - bl FlashWriteChunkInternal - pop {r4-r6, pc} - .balign 4 -_02022DC4: .word 0x00020464 - - thumb_func_start FUN_02022DC8 -FUN_02022DC8: ; 0x02022DC8 - push {r4-r6, lr} - add r6, r0, #0x0 - ldr r0, _02022DF8 ; =0x00020464 - add r3, r6, r0 - mov r0, #0xc - mul r0, r1 - add r4, r3, r0 - add r0, r2, #0x0 - add r1, r4, #0x0 - ldr r5, [r4, #0x8] - bl GetChunkOffsetFromCurrentSaveSlot - mov r1, #0x82 - lsl r1, r1, #0x2 - add r2, r6, r1 - ldr r1, [r4, #0x4] - add r0, r5, r0 - add r1, r2, r1 - sub r0, #0xc - add r1, r1, r5 - mov r2, #0x8 - bl FlashWriteChunkInternal - pop {r4-r6, pc} - .balign 4 -_02022DF8: .word 0x00020464 - - thumb_func_start FUN_02022DFC -FUN_02022DFC: ; 0x02022DFC - push {r3-r7, lr} - ldr r7, _02022E70 ; =0x00020218 - add r4, r1, #0x0 - mov r12, r2 - mov r1, #0x0 - add r2, r0, #0x0 - add r3, r4, #0x0 - add r6, r7, #0x0 -_02022E0C: - ldr r5, _02022E70 ; =0x00020218 - add r1, r1, #0x1 - ldr r5, [r2, r5] - str r5, [r3, #0x1c] - ldr r5, [r2, r7] - add r3, r3, #0x4 - add r5, r5, #0x1 - str r5, [r2, r6] - add r2, r2, #0x4 - cmp r1, #0x2 - blt _02022E0C - mov r1, #0x0 - str r1, [r4, #0x14] - mov r2, r12 - str r1, [r4, #0x0] - cmp r2, #0x2 - bne _02022E58 - ldr r2, [r0, #0xc] - cmp r2, #0x0 - beq _02022E4E - mov r2, #0x1 - str r2, [r4, #0x0] - ldr r2, _02022E74 ; =0x00020214 - ldr r3, [r0, r2] - str r3, [r4, #0x18] - ldr r3, [r0, r2] - add r3, r3, #0x1 - str r3, [r0, r2] - str r1, [r4, #0x4] - str r1, [r4, #0x8] - mov r0, #0x2 - str r0, [r4, #0xc] - b _02022E66 -_02022E4E: - str r1, [r4, #0x4] - str r1, [r4, #0x8] - mov r0, #0x1 - str r0, [r4, #0xc] - b _02022E66 -_02022E58: - mov r0, r12 - str r0, [r4, #0x4] - mov r0, r12 - str r0, [r4, #0x8] - mov r0, r12 - add r0, r0, #0x1 - str r0, [r4, #0xc] -_02022E66: - mov r0, #0x1 - bl FUN_02016444 - pop {r3-r7, pc} - nop -_02022E70: .word 0x00020218 -_02022E74: .word 0x00020214 - - thumb_func_start FUN_02022E78 -FUN_02022E78: ; 0x02022E78 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - ldr r0, [r4, #0x14] - cmp r0, #0x5 - bhi _02022F78 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02022E90: ; jump table (using 16-bit offset) - .short _02022E9C - _02022E90 - 2; case 0 - .short _02022EC0 - _02022E90 - 2; case 1 - .short _02022EDC - _02022E90 - 2; case 2 - .short _02022F00 - _02022E90 - 2; case 3 - .short _02022F2A - _02022E90 - 2; case 4 - .short _02022F4E - _02022E90 - 2; case 5 -_02022E9C: - ldr r1, [r4, #0x8] - ldr r0, _02022F7C ; =0x00020220 - add r2, r5, r1 - ldrb r0, [r2, r0] - cmp r0, #0x0 - bne _02022EAC - mov r2, #0x1 - b _02022EAE -_02022EAC: - mov r2, #0x0 -_02022EAE: - lsl r2, r2, #0x18 - add r0, r5, #0x0 - lsr r2, r2, #0x18 - bl FUN_02022D54 - str r0, [r4, #0x10] - ldr r0, [r4, #0x14] - add r0, r0, #0x1 - str r0, [r4, #0x14] -_02022EC0: - ldr r0, [r4, #0x10] - add r1, sp, #0x0 - bl WaitFlashWrite - cmp r0, #0x0 - beq _02022F78 - ldr r0, [sp, #0x0] - cmp r0, #0x0 - bne _02022ED6 - mov r0, #0x3 - pop {r3-r5, pc} -_02022ED6: - ldr r0, [r4, #0x14] - add r0, r0, #0x1 - str r0, [r4, #0x14] -_02022EDC: - ldr r1, [r4, #0x8] - ldr r0, _02022F7C ; =0x00020220 - add r2, r5, r1 - ldrb r0, [r2, r0] - cmp r0, #0x0 - bne _02022EEC - mov r2, #0x1 - b _02022EEE -_02022EEC: - mov r2, #0x0 -_02022EEE: - lsl r2, r2, #0x18 - add r0, r5, #0x0 - lsr r2, r2, #0x18 - bl FUN_02022DC8 - str r0, [r4, #0x10] - ldr r0, [r4, #0x14] - add r0, r0, #0x1 - str r0, [r4, #0x14] -_02022F00: - ldr r0, [r4, #0x10] - add r1, sp, #0x0 - bl WaitFlashWrite - cmp r0, #0x0 - beq _02022F78 - ldr r0, [sp, #0x0] - cmp r0, #0x0 - bne _02022F16 - mov r0, #0x3 - pop {r3-r5, pc} -_02022F16: - ldr r0, [r4, #0x14] - add r0, r0, #0x1 - str r0, [r4, #0x14] - ldr r0, [r4, #0x8] - add r1, r0, #0x1 - ldr r0, [r4, #0xc] - cmp r1, r0 - bne _02022F2A - mov r0, #0x1 - pop {r3-r5, pc} -_02022F2A: - ldr r1, [r4, #0x8] - ldr r0, _02022F7C ; =0x00020220 - add r2, r5, r1 - ldrb r0, [r2, r0] - cmp r0, #0x0 - bne _02022F3A - mov r2, #0x1 - b _02022F3C -_02022F3A: - mov r2, #0x0 -_02022F3C: - lsl r2, r2, #0x18 - add r0, r5, #0x0 - lsr r2, r2, #0x18 - bl FUN_02022D94 - str r0, [r4, #0x10] - ldr r0, [r4, #0x14] - add r0, r0, #0x1 - str r0, [r4, #0x14] -_02022F4E: - ldr r0, [r4, #0x10] - add r1, sp, #0x0 - bl WaitFlashWrite - cmp r0, #0x0 - beq _02022F78 - ldr r0, [sp, #0x0] - cmp r0, #0x0 - bne _02022F64 - mov r0, #0x3 - pop {r3-r5, pc} -_02022F64: - ldr r0, [r4, #0x8] - add r1, r0, #0x1 - str r1, [r4, #0x8] - ldr r0, [r4, #0xc] - cmp r1, r0 - bne _02022F74 - mov r0, #0x2 - pop {r3-r5, pc} -_02022F74: - mov r0, #0x0 - str r0, [r4, #0x14] -_02022F78: - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 -_02022F7C: .word 0x00020220 - - thumb_func_start FUN_02022F80 -FUN_02022F80: ; 0x02022F80 - push {r3-r7, lr} - add r3, r0, #0x0 - add r0, r1, #0x0 - cmp r2, #0x3 - bne _02022FAA - ldr r1, [r0, #0x0] - cmp r1, #0x0 - beq _02022F96 - ldr r2, [r0, #0x18] - ldr r1, _02022FE4 ; =0x00020214 - str r2, [r3, r1] -_02022F96: - ldr r1, _02022FE8 ; =0x00020218 - mov r4, #0x0 -_02022F9A: - ldr r2, [r0, #0x1c] - add r4, r4, #0x1 - str r2, [r3, r1] - add r0, r0, #0x4 - add r3, r3, #0x4 - cmp r4, #0x2 - blt _02022F9A - b _02022FDA -_02022FAA: - ldr r6, [r0, #0x4] - ldr r1, [r0, #0xc] - cmp r6, r1 - bge _02022FD0 - ldr r1, _02022FEC ; =0x00020220 - mov r7, #0x1 - add r2, r1, #0x0 -_02022FB8: - add r5, r3, r6 - ldrb r4, [r5, r2] - cmp r4, #0x0 - bne _02022FC4 - add r4, r7, #0x0 - b _02022FC6 -_02022FC4: - mov r4, #0x0 -_02022FC6: - strb r4, [r5, r1] - ldr r4, [r0, #0xc] - add r6, r6, #0x1 - cmp r6, r4 - blt _02022FB8 -_02022FD0: - mov r0, #0x1 - str r0, [r3, #0x4] - mov r0, #0x0 - str r0, [r3, #0x8] - str r0, [r3, #0xc] -_02022FDA: - mov r0, #0x1 - bl FUN_02016454 - pop {r3-r7, pc} - nop -_02022FE4: .word 0x00020214 -_02022FE8: .word 0x00020218 -_02022FEC: .word 0x00020220 - - thumb_func_start FUN_02022FF0 -FUN_02022FF0: ; 0x02022FF0 - push {r3-r5, lr} - add r4, r1, #0x0 - ldr r1, [r4, #0x0] - cmp r1, #0x0 - beq _02023000 - ldr r2, [r4, #0x18] - ldr r1, _0202303C ; =0x00020214 - str r2, [r0, r1] -_02023000: - ldr r1, _02023040 ; =0x00020218 - mov r3, #0x0 - add r5, r4, #0x0 -_02023006: - ldr r2, [r5, #0x1c] - add r3, r3, #0x1 - str r2, [r0, r1] - add r5, r5, #0x4 - add r0, r0, #0x4 - cmp r3, #0x2 - blt _02023006 - bl CARD_TryWaitBackupAsync - cmp r0, #0x0 - bne _02023034 - bl CARD_CancelBackupAsync - ldr r0, [r4, #0x10] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl CARD_UnlockBackup - ldr r0, [r4, #0x10] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl OS_ReleaseLockID -_02023034: - mov r0, #0x1 - bl FUN_02016454 - pop {r3-r5, pc} - .balign 4 -_0202303C: .word 0x00020214 -_02023040: .word 0x00020218 - - thumb_func_start FUN_02023044 -FUN_02023044: ; 0x02023044 - push {r3-r6, lr} - sub sp, #0x24 - add r1, sp, #0x0 - mov r2, #0x2 - add r5, r0, #0x0 - bl FUN_02022DFC - add r6, sp, #0x0 -_02023054: - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_02022E78 - add r4, r0, #0x0 - beq _02023054 - cmp r4, #0x1 - beq _02023054 - add r0, r5, #0x0 - add r1, sp, #0x0 - add r2, r4, #0x0 - bl FUN_02022F80 - add r0, r4, #0x0 - add sp, #0x24 - pop {r3-r6, pc} - - thumb_func_start FlashClobberChunkFooter -FlashClobberChunkFooter: ; 0x02023074 - push {r4-r5, lr} - sub sp, #0x14 - add r4, r2, #0x0 - ldr r2, _020230A8 ; =0x00020464 - add r2, r0, r2 - mov r0, #0xc - mul r0, r1 - add r5, r2, r0 - add r0, sp, #0x0 - mov r1, #0xff - mov r2, #0x14 - bl MI_CpuFill8 - add r0, r4, #0x0 - add r1, r5, #0x0 - bl GetChunkOffsetFromCurrentSaveSlot - ldr r1, [r5, #0x8] - mov r2, #0x14 - add r0, r1, r0 - sub r0, #0x14 - add r1, sp, #0x0 - bl FlashWriteChunk - add sp, #0x14 - pop {r4-r5, pc} - .balign 4 -_020230A8: .word 0x00020464 - - thumb_func_start SavArray_sizeof -SavArray_sizeof: ; 0x020230AC - push {r3-r5, lr} - add r5, r0, #0x0 - ldr r0, _020230DC ; =UNK_020EE6DC - ldr r4, _020230E0 ; =UNK_020EE700 - ldr r0, [r0, #0x0] - cmp r5, r0 - blt _020230BE - bl ErrorHandling -_020230BE: - lsl r0, r5, #0x4 - add r0, r4, r0 - ldr r0, [r0, #0x8] - blx r0 - lsr r3, r0, #0x1f - lsl r2, r0, #0x1e - sub r2, r2, r3 - mov r1, #0x1e - ror r2, r1 - add r2, r3, r2 - mov r1, #0x4 - sub r1, r1, r2 - add r0, r0, r1 - pop {r3-r5, pc} - nop -_020230DC: .word UNK_020EE6DC -_020230E0: .word UNK_020EE700 - - thumb_func_start SaveBlock2_InitSubstructs -SaveBlock2_InitSubstructs: ; 0x020230E4 - push {r3-r7, lr} - sub sp, #0x8 - add r5, r0, #0x0 - ldr r0, _02023158 ; =UNK_020EE6DC - ldr r4, _0202315C ; =UNK_020EE700 - ldr r0, [r0, #0x0] - mov r7, #0x0 - str r0, [sp, #0x0] - cmp r0, #0x24 - beq _020230FC - bl ErrorHandling -_020230FC: - ldr r0, [sp, #0x0] - mov r6, #0x0 - cmp r0, #0x0 - ble _02023148 - sub r0, r0, #0x1 - str r0, [sp, #0x4] -_02023108: - ldr r0, [r4, #0x0] - cmp r6, r0 - beq _02023112 - bl ErrorHandling -_02023112: - ldr r0, [r4, #0x0] - str r0, [r5, #0x0] - add r0, r6, #0x0 - bl SavArray_sizeof - str r0, [r5, #0x4] - str r7, [r5, #0x8] - mov r0, #0x0 - strh r0, [r5, #0xc] - ldr r0, [r4, #0x4] - strh r0, [r5, #0xe] - ldr r0, [r5, #0x4] - add r7, r7, r0 - ldr r0, [sp, #0x4] - cmp r6, r0 - beq _0202313A - ldr r1, [r4, #0x4] - ldr r0, [r4, #0x14] - cmp r1, r0 - beq _0202313C -_0202313A: - add r7, #0x14 -_0202313C: - ldr r0, [sp, #0x0] - add r6, r6, #0x1 - add r4, #0x10 - add r5, #0x10 - cmp r6, r0 - blt _02023108 -_02023148: - mov r0, #0x2 - lsl r0, r0, #0x10 - cmp r7, r0 - ble _02023154 - bl ErrorHandling -_02023154: - add sp, #0x8 - pop {r3-r7, pc} - .balign 4 -_02023158: .word UNK_020EE6DC -_0202315C: .word UNK_020EE700 - - thumb_func_start FUN_02023160 -FUN_02023160: ; 0x02023160 - push {r3-r7, lr} - sub sp, #0x8 - str r0, [sp, #0x0] - mov r0, #0x0 - str r0, [sp, #0x4] - mov r12, r0 - add r3, r0, #0x0 - add r6, r0, #0x0 - ldr r0, _020231EC ; =UNK_020EE6DC - ldr r4, [sp, #0x0] - ldr r7, [r0, #0x0] - add r5, r1, #0x0 -_02023178: - add r2, r4, #0x0 - strb r6, [r4, #0x0] - mov r0, #0x0 - str r0, [r4, #0x8] - add r2, #0x8 - b _02023190 -_02023184: - ldr r0, [r5, #0x4] - ldr r1, [r2, #0x0] - add r5, #0x10 - add r0, r1, r0 - str r0, [r2, #0x0] - add r3, r3, #0x1 -_02023190: - ldrh r0, [r5, #0xe] - cmp r6, r0 - bne _0202319A - cmp r3, r7 - blt _02023184 -_0202319A: - ldr r0, [r4, #0x8] - add r6, r6, #0x1 - add r0, #0x14 - str r0, [r4, #0x8] - ldr r0, [sp, #0x4] - strb r0, [r4, #0x1] - mov r0, r12 - str r0, [r4, #0x4] - ldr r1, [r4, #0x8] - ldr r0, _020231F0 ; =0x00000FFF - add r0, r1, r0 - lsr r0, r0, #0xc - strb r0, [r4, #0x2] - ldrb r1, [r4, #0x2] - ldr r0, [sp, #0x4] - add r0, r0, r1 - str r0, [sp, #0x4] - ldr r0, [r4, #0x8] - mov r1, r12 - add r0, r1, r0 - add r4, #0xc - mov r12, r0 - cmp r6, #0x2 - blt _02023178 - ldr r0, [sp, #0x0] - ldrb r1, [r0, #0xd] - ldrb r0, [r0, #0xe] - add r1, r1, r0 - ldr r0, [sp, #0x4] - cmp r0, r1 - beq _020231DC - bl ErrorHandling -_020231DC: - ldr r0, [sp, #0x4] - cmp r0, #0x20 - ble _020231E6 - bl ErrorHandling -_020231E6: - add sp, #0x8 - pop {r3-r7, pc} - nop -_020231EC: .word UNK_020EE6DC -_020231F0: .word 0x00000FFF - - thumb_func_start Sav2_InitDynamicRegion_Internal -Sav2_InitDynamicRegion_Internal: ; 0x020231F4 - ; r0: &sav2->dynamic_region - ; r1: &sav2->arraySpecs - push {r3-r7, lr} - sub sp, #0x8 - add r6, r0, #0x0 - mov r2, #0x2 - add r5, r1, #0x0 - mov r0, #0x0 - add r1, r6, #0x0 - lsl r2, r2, #0x10 - ldr r4, _02023240 ; =UNK_020EE700 - bl MIi_CpuClearFast - ldr r0, _02023244 ; =UNK_020EE6DC - mov r7, #0x0 - ldr r0, [r0, #0x0] - str r0, [sp, #0x0] - cmp r0, #0x0 - ble _0202323A -_02023216: - ldr r0, [r5, #0x8] - ldr r2, [r5, #0x4] - str r0, [sp, #0x4] - ldr r1, [sp, #0x4] - mov r0, #0x0 - add r1, r6, r1 - bl MIi_CpuClearFast - ldr r0, [sp, #0x4] - ldr r1, [r4, #0xc] - add r0, r6, r0 - blx r1 - ldr r0, [sp, #0x0] - add r7, r7, #0x1 - add r5, #0x10 - add r4, #0x10 - cmp r7, r0 - blt _02023216 -_0202323A: - add sp, #0x8 - pop {r3-r7, pc} - nop -_02023240: .word UNK_020EE700 -_02023244: .word UNK_020EE6DC - - thumb_func_start CreateChunkFooter -CreateChunkFooter: ; 0x02023248 - ; void CreateChunkFooter(struct SaveBlock2 * sav2, void * data, u16 id, u32 size) - push {r3-r5, lr} - ldr r5, _0202326C ; =0x20060623 - add r4, r1, r3 - str r5, [r1, r3] - ldr r5, _02023270 ; =0x000204A4 - ldr r5, [r0, r5] - add r0, #0x14 - add r5, r5, #0x1 - str r5, [r4, #0x4] - str r3, [r4, #0x8] - add r3, #0xe - strh r2, [r4, #0xc] - add r2, r3, #0x0 - bl MATH_CalcCRC16CCITT - strh r0, [r4, #0xe] - pop {r3-r5, pc} - nop -_0202326C: .word 0x20060623 -_02023270: .word 0x000204A4 - - thumb_func_start ValidateChunk -ValidateChunk: ; 0x02023274 - push {r4-r6, lr} - ldr r6, [r1, r3] - ldr r5, _020232B0 ; =0x20060623 - add r4, r1, r3 - cmp r6, r5 - beq _02023284 - mov r0, #0x0 - pop {r4-r6, pc} -_02023284: - ldr r5, [r4, #0x8] - cmp r5, r3 - beq _0202328E - mov r0, #0x0 - pop {r4-r6, pc} -_0202328E: - ldrh r5, [r4, #0xc] - cmp r5, r2 - beq _02023298 - mov r0, #0x0 - pop {r4-r6, pc} -_02023298: - add r3, #0xe - add r0, #0x14 - add r2, r3, #0x0 - bl MATH_CalcCRC16CCITT - ldrh r1, [r4, #0xe] - cmp r1, r0 - bne _020232AC - mov r0, #0x1 - pop {r4-r6, pc} -_020232AC: - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 -_020232B0: .word 0x20060623 - - thumb_func_start FUN_020232B4 -FUN_020232B4: ; 0x020232B4 - add r0, r0, r1 - ldr r0, [r0, #0x4] - bx lr - .balign 4 - - thumb_func_start WriteSaveFileToFlash -WriteSaveFileToFlash: ; 0x020232BC - push {r3-r7, lr} - sub sp, #0x8 - add r7, r0, #0x0 - mov r0, #0x1 - add r5, r1, #0x0 - add r6, r2, #0x0 - bl FUN_02016444 - ldr r0, _020233FC ; =UNK_020EE6D8 - ldr r0, [r0, #0x0] - cmp r5, r0 - blt _020232D8 - bl ErrorHandling -_020232D8: - ldr r1, _02023400 ; =UNK_020EE6E0 - lsl r0, r5, #0x4 - add r4, r1, r0 - ldr r0, [r1, r0] - cmp r0, r5 - beq _020232E8 - bl ErrorHandling -_020232E8: - ldr r0, [r4, #0x8] - blx r0 - str r0, [sp, #0x4] - add r0, #0x10 - str r0, [sp, #0x4] - ldr r0, _02023404 ; =0x000204A0 - ldr r0, [r7, r0] - cmp r0, #0x1 - ldr r0, [r4, #0x8] - bne _0202336E - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl CreateChunkFooter - ldr r0, [r4, #0x4] - ldr r2, [sp, #0x4] - lsl r0, r0, #0xc - add r1, r6, #0x0 - bl FlashWriteChunk - str r0, [sp, #0x0] - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl ValidateChunk - cmp r0, #0x1 - beq _02023330 - bl ErrorHandling -_02023330: - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl CreateChunkFooter - ldr r0, [r4, #0x4] - ldr r2, [sp, #0x4] - add r0, #0x40 - lsl r0, r0, #0xc - add r1, r6, #0x0 - bl FlashWriteChunk - ldr r1, [sp, #0x0] - orr r0, r1 - str r0, [sp, #0x0] - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl ValidateChunk - cmp r0, #0x1 - beq _020233DE - bl ErrorHandling - b _020233DE -_0202336E: - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl CreateChunkFooter - ldr r0, [r4, #0x4] - ldr r2, [sp, #0x4] - add r0, #0x40 - lsl r0, r0, #0xc - add r1, r6, #0x0 - bl FlashWriteChunk - str r0, [sp, #0x0] - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl ValidateChunk - cmp r0, #0x1 - beq _020233A4 - bl ErrorHandling -_020233A4: - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl CreateChunkFooter - ldr r0, [r4, #0x4] - ldr r2, [sp, #0x4] - lsl r0, r0, #0xc - add r1, r6, #0x0 - bl FlashWriteChunk - ldr r1, [sp, #0x0] - orr r0, r1 - str r0, [sp, #0x0] - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl ValidateChunk - cmp r0, #0x1 - beq _020233DE - bl ErrorHandling -_020233DE: - ldr r0, [sp, #0x0] - cmp r0, #0x1 - bne _020233F0 - mov r0, #0x1 - bl FUN_02016454 - add sp, #0x8 - mov r0, #0x2 - pop {r3-r7, pc} -_020233F0: - mov r0, #0x1 - bl FUN_02016454 - mov r0, #0x3 - add sp, #0x8 - pop {r3-r7, pc} - .balign 4 -_020233FC: .word UNK_020EE6D8 -_02023400: .word UNK_020EE6E0 -_02023404: .word 0x000204A0 - - thumb_func_start ReadSaveFileFromFlash -ReadSaveFileFromFlash: ; 0x02023408 - push {r4-r7, lr} - sub sp, #0x14 - add r5, r0, #0x0 - ldr r0, _02023564 ; =UNK_020EE6D8 - add r7, r2, #0x0 - ldr r0, [r0, #0x0] - add r6, r1, #0x0 - str r3, [sp, #0x0] - cmp r7, r0 - blt _02023420 - bl ErrorHandling -_02023420: - ldr r1, _02023568 ; =UNK_020EE6E0 - lsl r0, r7, #0x4 - add r4, r1, r0 - ldr r0, [r1, r0] - cmp r0, r7 - beq _02023430 - bl ErrorHandling -_02023430: - ldr r0, [r4, #0x8] - blx r0 - str r0, [sp, #0x10] - add r0, #0x10 - str r0, [sp, #0x10] - ldr r1, [sp, #0x10] - add r0, r6, #0x0 - bl AllocFromHeap - add r6, r0, #0x0 - ldr r0, [r4, #0x4] - ldr r2, [sp, #0x10] - lsl r0, r0, #0xc - add r1, r6, #0x0 - bl FlashLoadChunk - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, r7, #0x0 - bl ValidateChunk - str r0, [sp, #0xc] - ldr r0, [r4, #0x8] - blx r0 - add r1, r0, #0x0 - add r0, r6, #0x0 - bl FUN_020232B4 - str r0, [sp, #0x8] - ldr r0, [r4, #0x4] - ldr r2, [sp, #0x10] - add r0, #0x40 - lsl r0, r0, #0xc - add r1, r6, #0x0 - bl FlashLoadChunk - ldr r0, [r4, #0x8] - blx r0 - add r3, r0, #0x0 - add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, r7, #0x0 - bl ValidateChunk - add r7, r0, #0x0 - ldr r0, [r4, #0x8] - blx r0 - add r1, r0, #0x0 - add r0, r6, #0x0 - bl FUN_020232B4 - str r0, [sp, #0x4] - ldr r0, [sp, #0x0] - mov r1, #0x1 - str r1, [r0, #0x0] - ldr r0, [sp, #0xc] - cmp r0, #0x1 - bne _020234CC - cmp r7, #0x0 - bne _020234CC - ldr r0, _0202356C ; =0x000204A0 - mov r1, #0x0 - str r1, [r5, r0] - add r1, r0, #0x4 - ldr r0, [sp, #0x8] - ldr r2, [sp, #0x10] - str r0, [r5, r1] - ldr r0, [r4, #0x4] - add r1, r6, #0x0 - lsl r0, r0, #0xc - bl FlashLoadChunk - add sp, #0x14 - add r0, r6, #0x0 - pop {r4-r7, pc} -_020234CC: - ldr r0, [sp, #0xc] - cmp r0, #0x0 - bne _020234F6 - cmp r7, #0x1 - bne _020234F6 - ldr r0, _0202356C ; =0x000204A0 - mov r1, #0x1 - str r1, [r5, r0] - add r1, r0, #0x4 - ldr r0, [sp, #0x4] - ldr r2, [sp, #0x10] - str r0, [r5, r1] - ldr r0, [r4, #0x4] - add r1, r6, #0x0 - add r0, #0x40 - lsl r0, r0, #0xc - bl FlashLoadChunk - add sp, #0x14 - add r0, r6, #0x0 - pop {r4-r7, pc} -_020234F6: - ldr r0, [sp, #0xc] - cmp r0, #0x1 - bne _0202354C - cmp r7, #0x1 - bne _0202354C - ldr r0, [sp, #0x8] - ldr r1, [sp, #0x4] - bl FUN_020229B8 - mov r1, #0x0 - mvn r1, r1 - cmp r0, r1 - ldr r0, _0202356C ; =0x000204A0 - beq _0202352E - mov r1, #0x0 - str r1, [r5, r0] - add r1, r0, #0x4 - ldr r0, [sp, #0x8] - ldr r2, [sp, #0x10] - str r0, [r5, r1] - ldr r0, [r4, #0x4] - add r1, r6, #0x0 - lsl r0, r0, #0xc - bl FlashLoadChunk - add sp, #0x14 - add r0, r6, #0x0 - pop {r4-r7, pc} -_0202352E: - mov r1, #0x1 - str r1, [r5, r0] - add r1, r0, #0x4 - ldr r0, [sp, #0x4] - ldr r2, [sp, #0x10] - str r0, [r5, r1] - ldr r0, [r4, #0x4] - add r1, r6, #0x0 - add r0, #0x40 - lsl r0, r0, #0xc - bl FlashLoadChunk - add sp, #0x14 - add r0, r6, #0x0 - pop {r4-r7, pc} -_0202354C: - ldr r0, [sp, #0x0] - mov r1, #0x2 - str r1, [r0, #0x0] - ldr r0, _0202356C ; =0x000204A0 - mov r1, #0x0 - str r1, [r5, r0] - add r0, r0, #0x4 - str r1, [r5, r0] - add r0, r6, #0x0 - add sp, #0x14 - pop {r4-r7, pc} - nop -_02023564: .word UNK_020EE6D8 -_02023568: .word UNK_020EE6E0 -_0202356C: .word 0x000204A0 - - thumb_func_start SaveDetectFlash -SaveDetectFlash: ; 0x02023570 - push {r3-r5, lr} - bl OS_GetLockID - add r4, r0, #0x0 - mov r0, #0x2 - mvn r0, r0 - cmp r4, r0 - bne _02023584 - bl ErrorHandling -_02023584: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl CARD_LockBackup - ldr r0, _020235C8 ; =0x00001302 - bl CARD_IdentifyBackup - cmp r0, #0x0 - beq _0202359A - ldr r5, _020235C8 ; =0x00001302 - b _020235AA -_0202359A: - ldr r0, _020235CC ; =0x00001202 - bl CARD_IdentifyBackup - cmp r0, #0x0 - beq _020235A8 - ldr r5, _020235CC ; =0x00001202 - b _020235AA -_020235A8: - mov r5, #0x0 -_020235AA: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl CARD_UnlockBackup - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl OS_ReleaseLockID - cmp r5, #0x0 - beq _020235C2 - mov r0, #0x1 - pop {r3-r5, pc} -_020235C2: - mov r0, #0x0 - pop {r3-r5, pc} - nop -_020235C8: .word 0x00001302 -_020235CC: .word 0x00001202 - - thumb_func_start FlashWriteChunk -FlashWriteChunk: ; 0x020235D0 - push {r3-r5, lr} - bl FlashWriteChunkInternal - add r5, r0, #0x0 - add r4, sp, #0x0 -_020235DA: - add r0, r5, #0x0 - add r1, r4, #0x0 - bl WaitFlashWrite - cmp r0, #0x0 - beq _020235DA - ldr r0, [sp, #0x0] - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FlashLoadChunk -FlashLoadChunk: ; 0x020235EC - push {r4-r7, lr} - sub sp, #0x14 - add r5, r0, #0x0 - add r6, r1, #0x0 - add r7, r2, #0x0 - bl OS_GetLockID - add r4, r0, #0x0 - mov r0, #0x2 - mvn r0, r0 - cmp r4, r0 - bne _02023608 - bl ErrorHandling -_02023608: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl CARD_LockBackup - mov r3, #0x0 - str r3, [sp, #0x0] - mov r1, #0x1 - str r1, [sp, #0x4] - mov r0, #0x6 ; CARD_REQ_READ_BACKUP - str r0, [sp, #0x8] - str r1, [sp, #0xc] - add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, r7, #0x0 - str r3, [sp, #0x10] - bl CARDi_RequestStreamCommand - bl CARD_WaitBackupAsync - add r5, r0, #0x0 - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl CARD_UnlockBackup - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl OS_ReleaseLockID - cmp r5, #0x0 - bne _02023652 - ldr r0, _02023658 ; =UNK_021C59C8 - ldr r0, [r0, #0x0] - bl FreeToHeap - mov r0, #0x1 - bl FUN_02089D90 -_02023652: - add r0, r5, #0x0 - add sp, #0x14 - pop {r4-r7, pc} - .balign 4 -_02023658: .word UNK_021C59C8 - - thumb_func_start FlashWriteCommandCallback -FlashWriteCommandCallback: ; 0x0202365C - ldr r0, _02023664 ; =UNK_021C59C8 - mov r1, #0x1 - str r1, [r0, #0x4] - bx lr - .balign 4 -_02023664: .word UNK_021C59C8 - - thumb_func_start FlashWriteChunkInternal -FlashWriteChunkInternal: ; 0x02023668 - push {r3-r7, lr} - sub sp, #0x18 - add r5, r0, #0x0 - add r6, r1, #0x0 - add r7, r2, #0x0 - bl OS_GetLockID - add r4, r0, #0x0 - mov r0, #0x2 - mvn r0, r0 - cmp r4, r0 - bne _02023684 - bl ErrorHandling -_02023684: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl CARD_LockBackup - mov r0, #0x0 - str r0, [sp, #0x0] - str r0, [sp, #0x4] - mov r1, #0x6 ; CARD_REQ_READ_BACKUP - str r1, [sp, #0x8] - mov r1, #0x1 - str r1, [sp, #0xc] - add r1, sp, #0x14 - mov r2, #0x4 - add r3, r0, #0x0 - str r0, [sp, #0x10] - bl CARDi_RequestStreamCommand - cmp r0, #0x0 - bne _020236B2 - add r0, r4, #0x0 - mov r1, #0x1 - bl SaveErrorHandling -_020236B2: - ldr r0, _020236DC ; =UNK_021C59C8 - mov r1, #0x0 - str r1, [r0, #0x4] - str r1, [sp, #0x0] - mov r0, #0x1 - str r0, [sp, #0x4] - mov r0, #0x7 ; CARD_REQ_WRITE_BACKUP - str r0, [sp, #0x8] - mov r0, #0xa - str r0, [sp, #0xc] - mov r0, #0x2 - str r0, [sp, #0x10] - ldr r3, _020236E0 ; =FlashWriteCommandCallback - add r0, r6, #0x0 - add r1, r5, #0x0 - add r2, r7, #0x0 - bl CARDi_RequestStreamCommand - add r0, r4, #0x0 - add sp, #0x18 - pop {r3-r7, pc} - .balign 4 -_020236DC: .word UNK_021C59C8 -_020236E0: .word FlashWriteCommandCallback - - thumb_func_start WaitFlashWrite -WaitFlashWrite: ; 0x020236E4 - push {r3-r5, lr} - add r5, r0, #0x0 - ldr r0, _0202373C ; =UNK_021C59C8 - add r4, r1, #0x0 - ldr r0, [r0, #0x4] - cmp r0, #0x1 - bne _02023738 - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl CARD_UnlockBackup - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl OS_ReleaseLockID - bl CARD_GetResultCode - cmp r0, #0x0 - beq _02023714 - cmp r0, #0x4 - beq _0202371E - cmp r0, #0x6 - beq _02023728 - b _0202371A -_02023714: - mov r0, #0x1 - str r0, [r4, #0x0] - b _02023734 -_0202371A: - bl ErrorHandling -_0202371E: - mov r1, #0x0 - add r0, r5, #0x0 - str r1, [r4, #0x0] - bl SaveErrorHandling -_02023728: - mov r0, #0x0 - str r0, [r4, #0x0] - add r0, r5, #0x0 - mov r1, #0x1 - bl SaveErrorHandling -_02023734: - mov r0, #0x1 - pop {r3-r5, pc} -_02023738: - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 -_0202373C: .word UNK_021C59C8 - - thumb_func_start SaveErrorHandling -SaveErrorHandling: ; 0x02023740 - push {r3-r5, lr} - add r5, r0, #0x0 - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - add r4, r1, #0x0 - bl CARD_UnlockBackup - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl OS_ReleaseLockID - ldr r0, _02023768 ; =UNK_021C59C8 - ldr r0, [r0, #0x0] - bl FreeToHeap - mov r0, #0x1 - add r1, r4, #0x0 - bl FUN_0208A0B8 - pop {r3-r5, pc} - .balign 4 -_02023768: .word UNK_021C59C8 diff --git a/arm9/asm/scrcmd.s b/arm9/asm/scrcmd.s index 6c2d8674..876bd329 100644 --- a/arm9/asm/scrcmd.s +++ b/arm9/asm/scrcmd.s @@ -7344,12 +7344,12 @@ FUN_0203D3DC: ; 0x0203D3DC add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, #0x80 str r0, [sp, #0x4] ldr r0, [r5, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02013B5C add r5, r0, #0x0 cmp r4, #0x0 @@ -7755,7 +7755,7 @@ FUN_0203D738: ; 0x0203D738 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, #0x80 add r5, r0, #0x0 @@ -7782,7 +7782,7 @@ FUN_0203D774: ; 0x0203D774 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, r0, #0x0 add r0, r4, #0x0 @@ -7826,7 +7826,7 @@ FUN_0203D7DC: ; 0x0203D7DC add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, r0, #0x0 add r0, r4, #0x0 @@ -7864,7 +7864,7 @@ FUN_0203D834: ; 0x0203D834 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, r0, #0x0 add r0, r5, #0x0 @@ -7917,7 +7917,7 @@ FUN_0203D8A0: ; 0x0203D8A0 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, r0, #0x0 add r0, r5, #0x0 @@ -10292,8 +10292,8 @@ FUN_0203EB88: ; 0x0203EB88 add sp, #0xc pop {r4-r7, pc} - thumb_func_start FUN_0203EBC8 -FUN_0203EBC8: ; 0x0203EBC8 + thumb_func_start ScrCmd_gameversion +ScrCmd_gameversion: ; 0x0203EBC8 push {r4, lr} add r4, r0, #0x0 bl ScriptReadHalfword @@ -10307,15 +10307,15 @@ FUN_0203EBC8: ; 0x0203EBC8 pop {r4, pc} .balign 4 - thumb_func_start FUN_0203EBE4 -FUN_0203EBE4: ; 0x0203EBE4 + thumb_func_start ScrCmd_givewallpaper +ScrCmd_givewallpaper: ; 0x0203EBE4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, #0x80 ldr r6, [r0, #0x0] add r0, r6, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr str r0, [sp, #0x4] add r0, r5, #0x0 @@ -10327,7 +10327,7 @@ FUN_0203EBE4: ; 0x0203EBE4 bl GetVarPointer add r4, r0, #0x0 ldr r0, [r6, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer add r6, r0, #0x0 add r0, r5, #0x0 bl ScriptReadHalfword @@ -10498,8 +10498,8 @@ FUN_0203ED2C: ; 0x0203ED2C pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0203ED70 -FUN_0203ED70: ; 0x0203ED70 + thumb_func_start ScrCmd_pcfreespace +ScrCmd_pcfreespace: ; 0x0203ED70 push {r3-r5, lr} add r5, r0, #0x0 bl ScriptReadHalfword @@ -10512,7 +10512,7 @@ FUN_0203ED70: ; 0x0203ED70 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer bl PCStorage_CountMonsAndEggsInAllBoxes lsl r0, r0, #0x10 lsr r1, r0, #0x10 diff --git a/arm9/asm/scrcmd_10.s b/arm9/asm/scrcmd_10.s index 0831797b..ea5903d8 100644 --- a/arm9/asm/scrcmd_10.s +++ b/arm9/asm/scrcmd_10.s @@ -49,7 +49,7 @@ FUN_02042364: ; 0x02042364 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r1, r4, #0x0 add r2, r6, #0x0 bl MOD06_022434D0 diff --git a/arm9/asm/scrcmd_13.s b/arm9/asm/scrcmd_13.s index 57061f8b..0a7c9697 100644 --- a/arm9/asm/scrcmd_13.s +++ b/arm9/asm/scrcmd_13.s @@ -92,7 +92,7 @@ FUN_02043918: ; 0x02043918 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer str r0, [sp, #0x8] mov r0, #0x20 bl AllocMonZeroed diff --git a/arm9/asm/scrcmd_14.s b/arm9/asm/scrcmd_14.s index e37228c6..1fd34357 100644 --- a/arm9/asm/scrcmd_14.s +++ b/arm9/asm/scrcmd_14.s @@ -165,7 +165,7 @@ FUN_02043B84: ; 0x02043B84 add r0, #0x80 ldr r5, [r0, #0x0] add r0, r5, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr ldr r0, [r5, #0xc] bl Sav2_PlayerData_GetCoinsAddr @@ -201,7 +201,7 @@ FUN_02043BD0: ; 0x02043BD0 add r0, #0x80 ldr r4, [r0, #0x0] add r0, r4, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr ldr r0, [r4, #0xc] bl Sav2_PlayerData_GetCoinsAddr diff --git a/arm9/asm/scrcmd_15.s b/arm9/asm/scrcmd_15.s index d33d857b..e5630b08 100644 --- a/arm9/asm/scrcmd_15.s +++ b/arm9/asm/scrcmd_15.s @@ -9,7 +9,7 @@ FUN_02043C6C: ; 0x02043C6C add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, r0, #0x0 add r0, r4, #0x0 @@ -26,7 +26,7 @@ FUN_02043C90: ; 0x02043C90 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, r0, #0x0 add r0, r4, #0x0 @@ -43,7 +43,7 @@ FUN_02043CB4: ; 0x02043CB4 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r5, r0, #0x0 add r0, r4, #0x0 @@ -65,7 +65,7 @@ FUN_02043CE4: ; 0x02043CE4 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r6, r0, #0x0 add r0, r4, #0x0 @@ -98,7 +98,7 @@ FUN_02043D28: ; 0x02043D28 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r6, r0, #0x0 add r0, r4, #0x0 diff --git a/arm9/asm/scrcmd_16.s b/arm9/asm/scrcmd_16.s index 9b188d47..dba4514e 100644 --- a/arm9/asm/scrcmd_16.s +++ b/arm9/asm/scrcmd_16.s @@ -70,7 +70,7 @@ FUN_02043E68: ; 0x02043E68 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r2, r0, #0x0 add r0, r6, #0x0 diff --git a/arm9/asm/scrcmd_18.s b/arm9/asm/scrcmd_18.s index f37a8c62..09cb74b0 100644 --- a/arm9/asm/scrcmd_18.s +++ b/arm9/asm/scrcmd_18.s @@ -120,7 +120,7 @@ ScrCmd_checkpartymonotid: ; 0x020443A8 add r0, #0x80 ldr r5, [r0, #0x0] add r0, r5, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r7, r0, #0x0 add r0, r4, #0x0 @@ -1113,7 +1113,7 @@ FUN_02044C0C: ; 0x02044C0C bl GetVarPointer str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer str r0, [sp, #0x4] ldr r0, [r7, #0xc] bl SavArray_PlayerParty_get diff --git a/arm9/asm/scrcmd_24.s b/arm9/asm/scrcmd_24.s index 5685ce24..b9569382 100644 --- a/arm9/asm/scrcmd_24.s +++ b/arm9/asm/scrcmd_24.s @@ -137,7 +137,7 @@ FUN_02045E74: ; 0x02045E74 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr str r0, [r4, #0x4] add r0, r5, #0x0 diff --git a/arm9/asm/scrcmd_3.s b/arm9/asm/scrcmd_3.s index a7879525..475edde8 100644 --- a/arm9/asm/scrcmd_3.s +++ b/arm9/asm/scrcmd_3.s @@ -78,7 +78,7 @@ FUN_0203FF10: ; 0x0203FF10 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, r0, #0x0 add r0, r5, #0x0 diff --git a/arm9/asm/scrcmd_4.s b/arm9/asm/scrcmd_4.s index e5e930b2..aede6782 100644 --- a/arm9/asm/scrcmd_4.s +++ b/arm9/asm/scrcmd_4.s @@ -20,7 +20,7 @@ FUN_020406CC: ; 0x020406CC str r0, [r5, #0x8] ldrb r5, [r1, #0x0] add r0, r6, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r2, r0, #0x0 ldr r0, [r4, #0x0] @@ -331,7 +331,7 @@ FUN_02040964: ; 0x02040964 add r0, #0x80 ldr r4, [r0, #0x0] ldr r0, [r4, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0xf @@ -426,7 +426,7 @@ FUN_02040A30: ; 0x02040A30 add r0, #0x80 ldr r5, [r0, #0x0] add r0, r5, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r4, r0, #0x0 add r0, r5, #0x0 diff --git a/arm9/asm/scrcmd_5.s b/arm9/asm/scrcmd_5.s index d001fb33..a1aa5216 100644 --- a/arm9/asm/scrcmd_5.s +++ b/arm9/asm/scrcmd_5.s @@ -40,7 +40,7 @@ FUN_020411C4: ; 0x020411C4 add r0, #0x80 ldr r7, [r0, #0x0] ldr r0, [r7, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer str r0, [sp, #0x20] add r0, r4, #0x0 bl ScriptReadHalfword diff --git a/arm9/asm/unk_02022504.s b/arm9/asm/unk_02022504.s index 6e6c0d06..7f851622 100644 --- a/arm9/asm/unk_02022504.s +++ b/arm9/asm/unk_02022504.s @@ -11,8 +11,8 @@ FUN_02022504: ; 0x02022504 nop _0202250C: .word SavArray_get - thumb_func_start FUN_02022510 -FUN_02022510: ; 0x02022510 + thumb_func_start GetStoragePCPointer +GetStoragePCPointer: ; 0x02022510 ldr r3, _02022518 ; =SavArray_get mov r1, #0x23 bx r3 diff --git a/arm9/asm/unk_020372D4.s b/arm9/asm/unk_020372D4.s index cb831ada..c2bab3d0 100644 --- a/arm9/asm/unk_020372D4.s +++ b/arm9/asm/unk_020372D4.s @@ -632,7 +632,7 @@ FUN_020377A8: ; 0x020377A8 ldr r0, [r0, #0x8] bx lr - thumb_func_start FUN_020377AC -FUN_020377AC: ; 0x020377AC + thumb_func_start ScriptEnvironment_GetSav2Ptr +ScriptEnvironment_GetSav2Ptr: ; 0x020377AC ldr r0, [r0, #0xc] bx lr diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s index 3c5fc486..ca4520b6 100644 --- a/arm9/asm/unk_020377F0.s +++ b/arm9/asm/unk_020377F0.s @@ -1115,7 +1115,7 @@ FUN_02037EF8: ; 0x02037EF8 bl AllocFromHeapAtEnd add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetOptionsAddr add r1, r0, #0x0 add r0, r5, #0x0 @@ -1140,7 +1140,7 @@ FUN_02037F2C: ; 0x02037F2C add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr mov r1, #0xb str r1, [sp, #0x0] add r1, r4, #0x0 @@ -1164,13 +1164,13 @@ FUN_02037F58: ; 0x02037F58 add r6, r3, #0x0 cmp r5, #0x3 bne _02037F74 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_020855B0 b _02037F82 _02037F74: - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r1, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 @@ -1189,7 +1189,7 @@ FUN_02037F90: ; 0x02037F90 add r4, r1, #0x0 add r6, r2, #0x0 add r5, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r1, r4, #0x0 add r2, r6, #0x0 bl FUN_02085578 @@ -1216,7 +1216,7 @@ FUN_02037FC4: ; 0x02037FC4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r1, r5, #0x0 bl FUN_02087D00 add r5, r0, #0x0 @@ -2127,7 +2127,7 @@ FUN_020386E0: ; 0x020386E0 bl SavArray_get str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer str r0, [r4, #0xc] ldr r0, [r5, #0xc] bl FUN_02024DA0 diff --git a/arm9/asm/unk_02038C78.s b/arm9/asm/unk_02038C78.s index 352c4094..acb9fd0b 100644 --- a/arm9/asm/unk_02038C78.s +++ b/arm9/asm/unk_02038C78.s @@ -731,10 +731,10 @@ gScriptCmdTable: ; 0x020F355C .word FUN_0203C5BC .word FUN_0203C614 .word FUN_0203C680 - .word FUN_0203EBC8 + .word ScrCmd_gameversion .word FUN_02044A6C .word FUN_02044A94 - .word FUN_0203EBE4 + .word ScrCmd_givewallpaper .word FUN_0203ECAC .word FUN_0203ECD8 .word FUN_0203ECF4 @@ -743,7 +743,7 @@ gScriptCmdTable: ; 0x020F355C .word FUN_020411C4 .word FUN_02041340 .word FUN_02040964 - .word FUN_0203ED70 + .word ScrCmd_pcfreespace .word FUN_0204387C .word FUN_020438D0 .word FUN_02043918 diff --git a/arm9/asm/unk_0204653C.s b/arm9/asm/unk_0204653C.s index eaeb9036..15eacf44 100644 --- a/arm9/asm/unk_0204653C.s +++ b/arm9/asm/unk_0204653C.s @@ -1015,7 +1015,7 @@ _02046D4E: b _02046D8C _02046D5C: ldr r0, [r6, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer str r0, [sp, #0x8] ldr r0, [r6, #0xc] bl SavArray_PlayerParty_get diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s index 39b89324..2d2d2b2d 100644 --- a/arm9/asm/unk_020476CC.s +++ b/arm9/asm/unk_020476CC.s @@ -285,7 +285,7 @@ FUN_02047814: ; 0x02047814 add r0, r6, #0x0 bl FreeToHeap ldr r0, [r5, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -519,7 +519,7 @@ FUN_02047A78: ; 0x02047A78 mov r2, #0x0 bl FUN_02047A64 ldr r0, [r4, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -719,7 +719,7 @@ _02047C98: bl FUN_02047A64 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r6, r1] @@ -903,7 +903,7 @@ _02047E2C: bl FUN_02047A64 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl FUN_02022510 + bl GetStoragePCPointer mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r5, r1] diff --git a/arm9/asm/unk_02048120.s b/arm9/asm/unk_02048120.s index 3aa16280..d94329c4 100644 --- a/arm9/asm/unk_02048120.s +++ b/arm9/asm/unk_02048120.s @@ -96,7 +96,7 @@ _0204817A: add r1, #0xc bl FUN_02019150 add r0, r5, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r2, r0, #0x0 ldr r0, [r4, #0x20] diff --git a/arm9/asm/unk_0204B0A0.s b/arm9/asm/unk_0204B0A0.s index 1495eb48..4b658c2b 100644 --- a/arm9/asm/unk_0204B0A0.s +++ b/arm9/asm/unk_0204B0A0.s @@ -125,7 +125,7 @@ FUN_0204B1DC: ; 0x0204B1DC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r1, r4, #0x0 bl FUN_02025A60 add r0, r5, #0x0 diff --git a/arm9/asm/unk_0204CB20.s b/arm9/asm/unk_0204CB20.s index f4d8b81a..e95b8c81 100644 --- a/arm9/asm/unk_0204CB20.s +++ b/arm9/asm/unk_0204CB20.s @@ -2315,13 +2315,13 @@ FUN_0204DCB4: ; 0x0204DCB4 ldr r0, _0204DD10 ; =UNK_021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02026CC4 add r4, r0, #0x0 ldr r0, _0204DD10 ; =UNK_021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02026CB4 ldr r0, _0204DD10 ; =UNK_021C5A68 ldr r1, [r0, #0x0] @@ -4108,7 +4108,7 @@ _0204E9B8: cmp r0, #0x0 bne _0204EA7C ldr r0, [r1, #0x54] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02026CB4 add r1, r4, #0x0 bl FUN_02026908 @@ -4644,7 +4644,7 @@ _0204EE36: str r2, [r3, r0] ldr r5, [r1, #0x0] ldr r0, [r5, #0x54] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02026CC4 mov r1, #0x29 add r2, r5, r4 @@ -5229,7 +5229,7 @@ FUN_0204F2D8: ; 0x0204F2D8 add r5, r2, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02026CB4 add r4, r0, #0x0 ldrb r0, [r5, #0x0] @@ -5466,7 +5466,7 @@ _0204F4D2: ldr r0, _0204F5E0 ; =UNK_021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02026CB4 add r4, r0, #0x0 bl FUN_020269A0 diff --git a/arm9/asm/unk_0204FBA8.s b/arm9/asm/unk_0204FBA8.s index 43c89f86..32c2e3c1 100644 --- a/arm9/asm/unk_0204FBA8.s +++ b/arm9/asm/unk_0204FBA8.s @@ -146,7 +146,7 @@ FUN_0204FC5C: ; 0x0204FC5C ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0204FC9A - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02031824 add r0, r4, #0x0 bl FUN_0204FBB0 @@ -444,7 +444,7 @@ FUN_0204FEB0: ; 0x0204FEB0 cmp r0, #0x0 bne _0204FEE8 add r0, r5, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr mov r1, #0x0 add r3, r5, #0x0 str r1, [sp, #0x0] @@ -475,7 +475,7 @@ FUN_0204FEF0: ; 0x0204FEF0 cmp r0, #0x0 bne _0204FF28 add r0, r5, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr mov r1, #0x0 add r3, r5, #0x0 str r1, [sp, #0x0] diff --git a/arm9/asm/unk_020520AC.s b/arm9/asm/unk_020520AC.s index f620cb87..4ae557da 100644 --- a/arm9/asm/unk_020520AC.s +++ b/arm9/asm/unk_020520AC.s @@ -181,7 +181,7 @@ FUN_02052110: ; 0x02052110 mov r0, #0x0 pop {r4-r6, pc} _0205211E: - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r6, r0, #0x0 bl FUN_02031A7C mov r1, #0x19 diff --git a/arm9/asm/unk_0205CDB4.s b/arm9/asm/unk_0205CDB4.s index c12eb45a..65a38f16 100644 --- a/arm9/asm/unk_0205CDB4.s +++ b/arm9/asm/unk_0205CDB4.s @@ -24,7 +24,7 @@ UNK_020F7240: ; 0x020F7240 FUN_0205CDB4: ; 0x0205CDB4 push {r4, lr} add r4, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 bl FUN_020254B4 add r1, r0, #0x0 @@ -43,7 +43,7 @@ _0205CDD4: .word UNK_020F7220 FUN_0205CDD8: ; 0x0205CDD8 push {r4, lr} add r4, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 bl FUN_020254B4 cmp r0, #0x0 @@ -68,7 +68,7 @@ FUN_0205CE00: ; 0x0205CE00 add r4, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x4] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 bl FUN_020254B4 cmp r0, #0x0 diff --git a/arm9/asm/unk_0205F7A0.s b/arm9/asm/unk_0205F7A0.s index 73dc567c..43358f72 100644 --- a/arm9/asm/unk_0205F7A0.s +++ b/arm9/asm/unk_0205F7A0.s @@ -70,7 +70,7 @@ _0205F806: str r0, [r5, #0x4] _0205F812: ldr r0, [sp, #0x0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr bl PlayerProfile_GetTrainerGender str r0, [r5, #0xc] diff --git a/arm9/asm/unk_020647A4.s b/arm9/asm/unk_020647A4.s index 1abe1353..cba18409 100644 --- a/arm9/asm/unk_020647A4.s +++ b/arm9/asm/unk_020647A4.s @@ -47,7 +47,7 @@ FUN_020647A4: ; 0x020647A4 push {r3-r7, lr} sub sp, #0x30 add r4, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 mov r1, #0x7 bl FUN_020254A0 @@ -137,7 +137,7 @@ _02064868: .word UNK_020F7D4C FUN_0206486C: ; 0x0206486C push {r3-r5, lr} add r4, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 add r5, r0, #0x0 mov r1, #0x7 @@ -325,7 +325,7 @@ _020649AC: .word 0x00000125 thumb_func_start FUN_020649B0 FUN_020649B0: ; 0x020649B0 push {r3, lr} - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 mov r1, #0x7 bl FUN_020254A0 @@ -346,7 +346,7 @@ _020649CC: FUN_020649D4: ; 0x020649D4 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 mov r1, #0x7 bl FUN_020254A0 diff --git a/arm9/asm/unk_02064CA8.s b/arm9/asm/unk_02064CA8.s index 3af0633e..851aec52 100644 --- a/arm9/asm/unk_02064CA8.s +++ b/arm9/asm/unk_02064CA8.s @@ -17,7 +17,7 @@ UNK_020F7E54: ; 0x020F7E54 thumb_func_start FUN_02064CA8 FUN_02064CA8: ; 0x02064CA8 push {r4, lr} - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x1 @@ -33,7 +33,7 @@ FUN_02064CA8: ; 0x02064CA8 FUN_02064CC8: ; 0x02064CC8 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x2 @@ -67,7 +67,7 @@ _02064D08: thumb_func_start FUN_02064D10 FUN_02064D10: ; 0x02064D10 push {r4-r6, lr} - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x3 @@ -95,7 +95,7 @@ _02064D48: .word UNK_020F7E54 thumb_func_start FUN_02064D4C FUN_02064D4C: ; 0x02064D4C push {r4-r6, lr} - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x4 @@ -130,7 +130,7 @@ FUN_02064D88: ; 0x02064D88 bl ErrorHandling _02064D96: add r0, r7, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x5 diff --git a/arm9/asm/unk_02064E20.s b/arm9/asm/unk_02064E20.s index c3b7b4bc..0665d211 100644 --- a/arm9/asm/unk_02064E20.s +++ b/arm9/asm/unk_02064E20.s @@ -6,7 +6,7 @@ thumb_func_start FUN_02064E20 FUN_02064E20: ; 0x02064E20 push {r4, lr} - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl FUN_02024ED8 add r4, r0, #0x0 bl FUN_020254B4 diff --git a/arm9/asm/unk_02064E90.s b/arm9/asm/unk_02064E90.s index e645d179..319e816e 100644 --- a/arm9/asm/unk_02064E90.s +++ b/arm9/asm/unk_02064E90.s @@ -14,7 +14,7 @@ FUN_02064E90: ; 0x02064E90 add r0, r6, #0x0 str r3, [sp, #0x1c] ldr r5, [sp, #0xbc] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr str r0, [sp, #0x20] bl Sav2_PlayerData_GetProfileAddr add r7, r0, #0x0 @@ -218,7 +218,7 @@ _02065074: .word FreeToHeap thumb_func_start FUN_02065078 FUN_02065078: ; 0x02065078 push {r3-r7, lr} - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r7, r0, #0x0 bl FUN_02029FC8 add r6, r0, #0x0 diff --git a/arm9/asm/unk_020653EC.s b/arm9/asm/unk_020653EC.s index edeab8fa..22b20ee4 100644 --- a/arm9/asm/unk_020653EC.s +++ b/arm9/asm/unk_020653EC.s @@ -55,7 +55,7 @@ FUN_020653EC: ; 0x020653EC bl MI_CpuFill8 add r0, r5, #0x0 str r6, [r4, #0x4] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr mov r1, #0x5b lsl r1, r1, #0x2 str r5, [r4, r1] @@ -1807,7 +1807,7 @@ FUN_020661F8: ; 0x020661F8 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl SavArray_PlayerParty_get add r1, r7, #0x0 bl GetPartyMonByIndex @@ -2376,19 +2376,19 @@ _02066676: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl SavArray_PlayerParty_get str r0, [r4, #0x0] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_Bag_get str r0, [r4, #0x4] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetOptionsAddr str r0, [r4, #0xc] mov r0, #0x5b diff --git a/arm9/asm/unk_02080C38.s b/arm9/asm/unk_02080C38.s index 8eb1213d..51dec0d5 100644 --- a/arm9/asm/unk_02080C38.s +++ b/arm9/asm/unk_02080C38.s @@ -111,7 +111,7 @@ _02080CB4: bl GetPartyMonByIndex add r7, r0, #0x0 add r0, r6, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr mov r1, #0xb str r0, [sp, #0x0] diff --git a/arm9/asm/unk_02086084.s b/arm9/asm/unk_02086084.s index c83c9aff..9e58b5cc 100644 --- a/arm9/asm/unk_02086084.s +++ b/arm9/asm/unk_02086084.s @@ -274,7 +274,7 @@ _020862D6: bl FUN_02046528 add r6, r0, #0x0 ldr r5, [r4, #0xc] - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetProfileAddr add r7, r0, #0x0 ldr r0, [r6, #0x1c] @@ -299,7 +299,7 @@ _020862D6: mov r2, #0x0 bl SetMonData add r0, r6, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr ldr r1, [r4, #0xc] bl FUN_0202C144 ldr r0, [r4, #0x4] @@ -322,7 +322,7 @@ _0208633A: bl GetMonData add r7, r0, #0x0 add r0, r6, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr bl Sav2_PlayerData_GetOptionsAddr str r0, [sp, #0x0] mov r0, #0xb diff --git a/arm9/asm/unk_0208890C.s b/arm9/asm/unk_0208890C.s index 58ffb9d8..d27130c9 100644 --- a/arm9/asm/unk_0208890C.s +++ b/arm9/asm/unk_0208890C.s @@ -56,7 +56,7 @@ FUN_02088960: ; 0x02088960 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl FUN_020377AC + bl ScriptEnvironment_GetSav2Ptr add r3, r5, #0x0 add r3, #0x98 add r1, r0, #0x0 |