Carve out save.s, sav_system_info.s

This commit is contained in:
PikalaxALT 2021-09-05 14:02:25 -04:00
parent da137c2c25
commit 17df27deb6
38 changed files with 4475 additions and 4342 deletions

View File

@ -3013,7 +3013,7 @@ _0201C238:
ldr r1, [sp, #4]
ldr r2, [sp]
add r0, r5, #0
bl sub_020D4858
bl MIi_CpuClearFast
lsl r0, r7, #0x18
ldrb r2, [r4, r6]
ldr r3, [sp, #0x20]
@ -6309,7 +6309,7 @@ _0201D994:
ldrb r4, [r4, #7]
mul r2, r4
mul r2, r3
bl sub_020D4858
bl MIi_CpuClearFast
pop {r3, r4, r5, pc}
thumb_func_end FillWindowPixelBuffer
@ -6332,7 +6332,7 @@ sub_0201D9B0: ; 0x0201D9B0
orr r0, r4
lsl r2, r2, #5
mul r2, r3
bl sub_020D4858
bl MIi_CpuClearFast
pop {r4, pc}
thumb_func_end sub_0201D9B0

View File

@ -1,8 +1,8 @@
; Temporary file to declare the static BSS section for ARM9
.bss
_021D2228:
.space 0x136C0
_021D2230:
.space 0x136B8
.public __global_destructor_chain
__global_destructor_chain: ; 0x021E58E8

View File

@ -360,30 +360,30 @@ InitGraphicMemory: ; 0x0201A348
mov r0, #0
lsl r1, r1, #0x16
lsl r2, r2, #0xe
bl sub_020D4858
bl MIi_CpuClearFast
bl sub_020CEB60
mov r1, #7
mov r2, #1
mov r0, #0xc0
lsl r1, r1, #0x18
lsl r2, r2, #0xa
bl sub_020D4858
bl MIi_CpuClearFast
mov r2, #1
ldr r1, _0201A39C ; =0x07000400
mov r0, #0xc0
lsl r2, r2, #0xa
bl sub_020D4858
bl MIi_CpuClearFast
mov r1, #5
mov r2, #1
mov r0, #0
lsl r1, r1, #0x18
lsl r2, r2, #0xa
bl sub_020D4858
bl MIi_CpuClearFast
mov r2, #1
ldr r1, _0201A3A0 ; =0x05000400
mov r0, #0
lsl r2, r2, #0xa
bl sub_020D4858
bl MIi_CpuClearFast
pop {r3, pc}
.balign 4, 0
_0201A398: .word 0x000001FF

View File

@ -1,2 +1,4 @@
#pragma once
#include "config.h"
.include "asm/macros/function.inc"

View File

@ -1,3 +1,5 @@
#pragma once
.macro arm_func_start name
.balign 4, 0
.global \name

View File

@ -75,7 +75,7 @@ _02000D2C:
cmp r0, #0
bne _02000D40
mov r0, #0
bl sub_0209263C
bl ShowSaveDataReadError
b _02000D82
_02000D40:
; static inline int OS_GetResetParameter();

View File

@ -546,8 +546,8 @@ _0201FF90: .word 0x41C64E6D
_0201FF94: .word 0x00006073
thumb_func_end sub_0201FF78
thumb_func_start sub_0201FF98
sub_0201FF98: ; 0x0201FF98
thumb_func_start MATH_CalcCRC16CCITT
MATH_CalcCRC16CCITT: ; 0x0201FF98
add r3, r0, #0
add r2, r1, #0
ldr r0, _0201FFA8 ; =_021D15A4
@ -558,7 +558,7 @@ sub_0201FF98: ; 0x0201FF98
nop
_0201FFA8: .word _021D15A4
_0201FFAC: .word sub_020E3A2C
thumb_func_end sub_0201FF98
thumb_func_end MATH_CalcCRC16CCITT
thumb_func_start sub_0201FFB0
sub_0201FFB0: ; 0x0201FFB0

View File

@ -3517,7 +3517,7 @@ _021E737E:
add r1, r2, r1
mov r2, #0x22
lsl r2, r2, #6
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _021E73CC ; =_0221A684
mov r1, #0
str r1, [r0]

View File

@ -6750,7 +6750,7 @@ ov01_021E8DB4: ; 0x021E8DB4
mov r0, #0
add r1, r4, #0
lsl r2, r2, #6
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
pop {r4, pc}
.balign 4, 0
@ -23763,7 +23763,7 @@ _021F0DFC:
ldr r1, _021F0E60 ; =0x06840000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _021F0E64 ; =0xC0320C04
ldr r2, _021F0E68 ; =0x04000064
ldr r1, _021F0E5C ; =0x02209B64
@ -29125,7 +29125,7 @@ ov01_021F3638: ; 0x021F3638
ldr r2, _021F365C ; =0x00000704
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
add r1, r5, #0
bl ov01_021F3610
@ -31122,28 +31122,28 @@ _021F44EA:
mov r0, #0
lsl r1, r1, #0x16
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021F452A
_021F44FA:
mov r2, #2
ldr r1, _021F4538 ; =0x06820000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021F452A
_021F4508:
mov r2, #2
ldr r1, _021F453C ; =0x06840000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021F452A
_021F4516:
mov r2, #2
ldr r1, _021F4540 ; =0x06860000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021F452A
_021F4524:
mov r0, #0
@ -31276,28 +31276,28 @@ _021F4606:
mov r0, #0
lsl r1, r1, #0x16
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021F463E
_021F4616:
mov r2, #2
ldr r1, _021F466C ; =0x06820000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021F463E
_021F4624:
mov r2, #2
ldr r1, _021F4670 ; =0x06840000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021F463E
_021F4632:
mov r2, #2
ldr r1, _021F4674 ; =0x06860000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
_021F463E:
ldr r5, [r4, #0x10]
ldr r1, [r4, #0x1c]
@ -31681,7 +31681,7 @@ _021F4894:
mov r2, #2
ldr r1, [r1]
lsl r2, r2, #0xa
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [sp]
cmp r0, #0
beq _021F4944
@ -33309,7 +33309,7 @@ ov01_021F5568: ; 0x021F5568
str r0, [r1, r2]
ldr r1, [r4, r5]
sub r2, #0x60
bl sub_020D4858
bl MIi_CpuClearFast
ldr r2, [r4, r5]
ldr r1, _021F55EC ; =0x0000086C
mov r0, #0
@ -64703,7 +64703,7 @@ _0220403E:
ldr r1, [r4, #8]
mov r0, #0
add r2, r6, #0
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r7, #0
lsl r1, r5, #2
bl AllocFromHeap
@ -64964,7 +64964,7 @@ ov01_022041D8: ; 0x022041D8
ldr r1, [r4, #0x10]
mov r0, #0
add r2, r6, #0
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r5, #0
lsl r1, r7, #2
bl AllocFromHeap
@ -65783,7 +65783,7 @@ ov01_02204744: ; 0x02204744
mov r0, #0
add r1, r4, #0
mov r2, #0x78
bl sub_020D4858
bl MIi_CpuClearFast
bl GF_RTC_GetTimeOfDay
str r0, [r4]
add r0, r4, #0

View File

@ -749,28 +749,28 @@ _021E5E8E:
mov r0, #0
lsl r1, r1, #0x16
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021E5ECE
_021E5E9E:
mov r2, #2
ldr r1, _021E5ED8 ; =0x06820000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021E5ECE
_021E5EAC:
mov r2, #2
ldr r1, _021E5EDC ; =0x06840000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021E5ECE
_021E5EBA:
mov r2, #2
ldr r1, _021E5EE0 ; =0x06860000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021E5ECE
_021E5EC8:
mov r0, #0
@ -900,28 +900,28 @@ _021E5FA6:
mov r0, #0
lsl r1, r1, #0x16
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021E5FDE
_021E5FB6:
mov r2, #2
ldr r1, _021E600C ; =0x06820000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021E5FDE
_021E5FC4:
mov r2, #2
ldr r1, _021E6010 ; =0x06840000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
b _021E5FDE
_021E5FD2:
mov r2, #2
ldr r1, _021E6014 ; =0x06860000
mov r0, #0
lsl r2, r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
_021E5FDE:
ldr r5, [r4, #0x10]
ldr r1, [r4, #0x1c]

View File

@ -7043,7 +7043,7 @@ ov112_021E93BC: ; 0x021E93BC
asr r2, r2, #3
lsl r2, r2, #1
str r0, [sp, #0x10]
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0
ldr r1, [sp, #0x3c]
str r0, [sp, #0x14]
@ -12622,12 +12622,12 @@ ov112_021EC000: ; 0x021EC000
ldr r2, _021EC02C ; =0x000006C8
mov r0, #0
add r1, r4, r1
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _021EC030 ; =0x00009D70
ldr r2, _021EC034 ; =0x00000D4C
mov r0, #0
add r1, r4, r1
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x10
pop {r4, pc}
nop
@ -14962,12 +14962,12 @@ ov112_021ED264: ; 0x021ED264
ldr r2, _021ED2D8 ; =0x000006C8
mov r0, #0
add r1, r4, r1
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _021ED2DC ; =0x00009D70
ldr r2, _021ED2E0 ; =0x00000D4C
mov r0, #0
add r1, r4, r1
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
mov r1, #2
mov r2, #0xe
@ -15255,7 +15255,7 @@ ov112_021ED4D4: ; 0x021ED4D4
mov r0, #0
add r1, r4, r1
lsl r2, r2, #6
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _021ED520 ; =0x00009D44
ldr r2, _021ED524 ; =0x0000AABC
ldr r3, _021ED528 ; =0x0000B184
@ -15754,7 +15754,7 @@ ov112_021ED8DC: ; 0x021ED8DC
ldr r2, _021ED90C ; =0x000006C8
mov r0, #0
add r1, r4, r1
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _021ED910 ; =0x00009D70
ldr r1, _021ED914 ; =0x0000B184
add r0, r4, r0
@ -16454,7 +16454,7 @@ ov112_021EDE68: ; 0x021EDE68
mov r0, #0
add r1, r4, r1
lsl r2, r2, #2
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _021EDEF8 ; =0x0000AABC
mov r0, #0x20
ldrb r2, [r4, r1]
@ -16687,7 +16687,7 @@ ov112_021EE044: ; 0x021EE044
mov r0, #0
add r1, r4, r1
mov r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _021EE0EC ; =0x000010E7
mov r0, #4
ldrb r2, [r4, r1]
@ -16704,7 +16704,7 @@ _021EE088:
mov r0, #0
add r1, r4, r1
lsl r2, r2, #2
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _021EE0F0 ; =0x0000AABC
mov r0, #0x20
ldrb r2, [r4, r1]
@ -20503,7 +20503,7 @@ _021EFDCC:
mov r0, #0
add r1, sp, #0x10
mov r2, #0x1c
bl sub_020D4858
bl MIi_CpuClearFast
ldr r6, _021EFEBC ; =0x00009DAC
mov r4, #0
add r5, r7, #0
@ -20539,12 +20539,12 @@ _021EFE24:
ldr r2, _021EFECC ; =0x000006C8
mov r0, #0
add r1, r7, r1
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _021EFED0 ; =0x00009D70
ldr r2, _021EFED4 ; =0x00000D4C
mov r0, #0
add r1, r7, r1
bl sub_020D4858
bl MIi_CpuClearFast
_021EFE60:
mov r0, #0x13
mov r1, #0x9a
@ -27243,7 +27243,7 @@ ov112_021F3244: ; 0x021F3244
mov r0, #0
add r1, r4, #0
lsl r2, r2, #2
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
bl sub_020327DC
add r0, r4, #0
@ -27255,7 +27255,7 @@ ov112_021F3244: ; 0x021F3244
bl ov112_021F33D8
ldr r1, _021F3288 ; =0x000001F2
add r0, r4, #0
bl sub_0201FF98
bl MATH_CalcCRC16CCITT
ldr r1, _021F3288 ; =0x000001F2
strh r0, [r4, r1]
pop {r4, r5, r6, pc}
@ -27286,7 +27286,7 @@ ov112_021F328C: ; 0x021F328C
_021F32B6:
ldr r0, [sp, #4]
ldr r1, _021F3368 ; =0x000001F2
bl sub_0201FF98
bl MATH_CalcCRC16CCITT
ldr r2, _021F3368 ; =0x000001F2
ldr r1, [sp, #4]
ldrh r1, [r1, r2]

View File

@ -4775,7 +4775,7 @@ ov12_0223A0D4: ; 0x0223A0D4
ldr r2, _0223A20C ; =0x00002490
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
add r1, r5, #0
bl ov12_02238A68
@ -4815,7 +4815,7 @@ _0223A130:
ldr r1, [r4, r1]
mov r0, #0
mov r2, #0x30
bl sub_020D4858
bl MIi_CpuClearFast
bl sub_0203769C
lsl r0, r0, #0x18
lsr r5, r0, #0x18
@ -4999,7 +4999,7 @@ _0223A290:
ldr r1, [r4, r1]
mov r0, #0
mov r2, #0x30
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, [r4, #0x2c]
mov r0, #8
tst r0, r1
@ -5198,7 +5198,7 @@ _0223A41A:
mov r0, #0
add r1, r6, #0
mov r2, #0x30
bl sub_020D4858
bl MIi_CpuClearFast
str r7, [r6]
ldr r0, [r7, #0x14]
cmp r0, #5
@ -34466,7 +34466,7 @@ ov12_02248660: ; 0x02248660
ldr r2, _022486A4 ; =0x00003158
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
bl ov12_02250F44
add r0, r5, #0
@ -52467,7 +52467,7 @@ _02251008:
mov r0, #0
add r1, r6, #0
mov r2, #0x1c
bl sub_020D4858
bl MIi_CpuClearFast
add r1, r5, r4
ldr r0, _02251034 ; =0x000021A4
add r4, r4, #1
@ -53372,11 +53372,11 @@ _0225172E:
mov r0, #0
add r1, r7, #0
mov r2, #0x40
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0
add r1, r6, #0
mov r2, #4
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _022517D8 ; =0x00002DB0
ldr r1, [r4, r0]
ldr r0, [sp, #8]
@ -69069,7 +69069,7 @@ ov12_02258D74: ; 0x02258D74
mov r0, #0
add r1, r4, #0
lsl r2, r2, #2
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x65
ldrb r1, [r5]
lsl r0, r0, #2
@ -72007,7 +72007,7 @@ ov12_0225A414: ; 0x0225A414
mov r0, #0
add r1, r4, #0
mov r2, #1
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x65
str r7, [r4, #0xc]
lsl r0, r0, #2
@ -72102,7 +72102,7 @@ ov12_0225A4DC: ; 0x0225A4DC
mov r0, #0
add r1, r4, #0
mov r2, #1
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x65
str r6, [r4, #0xc]
lsl r0, r0, #2
@ -72142,7 +72142,7 @@ ov12_0225A524: ; 0x0225A524
mov r0, #0
add r1, r4, #0
mov r2, #0x3c
bl sub_020D4858
bl MIi_CpuClearFast
mov r2, #0
strb r2, [r4, #0xa]
strb r2, [r4, #0xb]
@ -73476,7 +73476,7 @@ ov12_0225AF74: ; 0x0225AF74
mov r0, #0
add r1, r4, #0
mov r2, #1
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x65
str r7, [r4, #0xc]
lsl r0, r0, #2
@ -89043,7 +89043,7 @@ ov12_02262B80: ; 0x02262B80
add r1, sp, #0x28
mov r2, #0x2c
add r6, r3, #0
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [sp, #4]
bl ov12_0223A7E4
ldr r1, [sp, #0xc]
@ -92563,7 +92563,7 @@ ov12_022645F8: ; 0x022645F8
add r1, r5, #0
mov r2, #8
add r6, r3, #0
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [sp]
bl ov12_0223A7E0
add r4, r0, #0
@ -95919,7 +95919,7 @@ ov12_02265FD4: ; 0x02265FD4
add r1, r5, #0
mov r2, #0x10
add r7, r3, #0
bl sub_020D4858
bl MIi_CpuClearFast
str r4, [r5, #4]
strb r6, [r5, #8]
strb r7, [r5, #9]
@ -95946,7 +95946,7 @@ ov12_02266008: ; 0x02266008
mov r0, #0
add r1, r4, #0
mov r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
pop {r4, pc}
.balign 4, 0
thumb_func_end ov12_02266008

View File

@ -23910,7 +23910,7 @@ ov18_021F1A7C: ; 0x021F1A7C
mov r0, #0
add r1, sp, #0x30
mov r2, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _021F1BC4 ; =0x00000147
cmp r4, r0
bne _021F1AC6

View File

@ -341,7 +341,7 @@ ov36_021E5BC8: ; 0x021E5BC8
push {r4, lr}
add r4, r1, #0
add r0, r4, #0
bl sub_020274A8
bl Sav2_InitDynamicRegion
add r0, r4, #0
bl sub_0203E398
add r0, r4, #0

View File

@ -2934,7 +2934,7 @@ ov44_0222B528: ; 0x0222B528
lsl r0, r0, #4
ldr r0, [r5, r0]
mov r1, #0x1f
bl sub_020272C8
bl SavArray_get
bl sub_02031710
mov r0, #0x16
lsl r0, r0, #4

View File

@ -518,7 +518,7 @@ _021E84DC:
add r1, r1, #4
mov r0, #0
add r1, r7, r1
bl sub_020D4858
bl MIi_CpuClearFast
pop {r3, r4, r5, r6, r7, pc}
nop
_021E8558: .word 0x0000433D

View File

@ -43,7 +43,7 @@ ov65_0221BE20: ; 0x0221BE20
ldr r2, _0221BFA8 ; =0x000036CC
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x1a
bl sub_0201AC88
mov r1, #6

View File

@ -8437,7 +8437,7 @@ ov70_0223BC7C: ; 0x0223BC7C
str r0, [r4, r1]
ldr r1, [r4, r1]
mov r0, #0
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x3d
bl ov70_0223F684
ldr r1, _0223BCCC ; =0x000011C4
@ -14451,7 +14451,7 @@ ov70_0223ECCC: ; 0x0223ECCC
str r0, [r4, r1]
ldr r1, [r4, r1]
mov r0, #0
bl sub_020D4858
bl MIi_CpuClearFast
ldr r2, _0223ED20 ; =0x000011C4
mov r0, #0x3d
ldr r2, [r4, r2]
@ -15719,7 +15719,7 @@ ov70_0223F684: ; 0x0223F684
ldr r2, _0223F6DC ; =0x000001EE
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
mov r2, #0
str r2, [sp]
add r0, sp, #8

View File

@ -3934,7 +3934,7 @@ ov72_022397E8: ; 0x022397E8
ldr r2, _02239858 ; =0x00000A38
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #3
add sp, #8
pop {r4, pc}

View File

@ -4304,7 +4304,7 @@ _021E7ADA:
mov r0, #0
add r1, r5, #0
mov r2, #0x48
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
bl sub_02028F84
str r0, [r5]
@ -7452,7 +7452,7 @@ ov73_021E9378: ; 0x021E9378
ldr r2, _021E93E8 ; =0x00000A38
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #3
add sp, #8
pop {r4, pc}

View File

@ -25378,7 +25378,7 @@ ov80_0223608C: ; 0x0223608C
ldr r1, [r1]
mov r0, #0
mov r2, #0x44
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [r5]
bl sub_02074904
add r1, r5, #0

View File

@ -11944,7 +11944,7 @@ ov96_021EB180: ; 0x021EB180
mov r0, #0
add r1, r4, #0
lsl r2, r2, #2
bl sub_020D4858
bl MIi_CpuClearFast
str r6, [r4]
add r2, r4, #0
ldmia r5!, {r0, r1}
@ -45943,7 +45943,7 @@ ov96_021FBE20: ; 0x021FBE20
mov r0, #0
add r1, r4, #0
add r2, r5, #0
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov96_021FBE20
@ -46434,7 +46434,7 @@ ov96_021FC188: ; 0x021FC188
mov r0, #0
add r1, r4, #0
lsl r2, r2, #2
bl sub_020D4858
bl MIi_CpuClearFast
str r5, [r4]
add r0, r4, #0
pop {r3, r4, r5, pc}

File diff suppressed because it is too large Load Diff

3734
asm/save.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5165,7 +5165,7 @@ sub_02043008: ; 0x02043008
mov r1, #4
ldr r0, [r0, #0xc]
add r2, sp, #0
bl sub_02027104
bl LoadHallOfFame
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
@ -11222,7 +11222,7 @@ sub_02045F18: ; 0x02045F18
mov r1, #0x20
ldr r0, [r0, #0xc]
add r2, sp, #0
bl sub_02027104
bl LoadHallOfFame
ldr r1, [sp]
add r4, r0, #0
cmp r1, #0
@ -25425,7 +25425,7 @@ sub_0204CB7C: ; 0x0204CB7C
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl sub_020272C8
bl SavArray_get
bl sub_0206CFD4
strh r0, [r5]
mov r0, #0
@ -25440,7 +25440,7 @@ sub_0204CBAC: ; 0x0204CBAC
ldr r0, [r0]
mov r1, #7
ldr r0, [r0, #0xc]
bl sub_020272C8
bl SavArray_get
bl sub_0206C708
mov r0, #0
pop {r3, pc}
@ -25455,7 +25455,7 @@ sub_0204CBC4: ; 0x0204CBC4
ldr r5, [r0]
mov r1, #7
ldr r0, [r5, #0xc]
bl sub_020272C8
bl SavArray_get
add r6, r0, #0
ldr r0, [r5, #0xc]
bl sub_02074904
@ -25500,7 +25500,7 @@ sub_0204CBF8: ; 0x0204CBF8
add r4, r0, #0
add r0, r6, #0
mov r1, #7
bl sub_020272C8
bl SavArray_get
add r6, r0, #0
ldr r0, [r5, #0xc]
bl sub_02074904
@ -25544,7 +25544,7 @@ sub_0204CC58: ; 0x0204CC58
add r4, r0, #0
add r0, r5, #0
mov r1, #7
bl sub_020272C8
bl SavArray_get
lsl r1, r4, #0x18
ldr r2, [r7]
lsr r1, r1, #0x18
@ -25582,7 +25582,7 @@ sub_0204CCAC: ; 0x0204CCAC
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl sub_020272C8
bl SavArray_get
ldr r2, [r6]
add r1, r5, #0
bl sub_0206C1A0
@ -25638,7 +25638,7 @@ sub_0204CD34: ; 0x0204CD34
add r4, r0, #0
add r0, r5, #0
mov r1, #7
bl sub_020272C8
bl SavArray_get
lsl r1, r6, #0x18
add r2, r0, #0
add r0, r4, #0
@ -25729,7 +25729,7 @@ sub_0204CE00: ; 0x0204CE00
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl sub_020272C8
bl SavArray_get
bl sub_0206D02C
strh r0, [r5]
mov r0, #0
@ -25753,7 +25753,7 @@ sub_0204CE30: ; 0x0204CE30
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl sub_020272C8
bl SavArray_get
bl sub_020292F8
strh r0, [r5]
mov r0, #0
@ -30287,7 +30287,7 @@ sub_0204F320: ; 0x0204F320
mov r0, #0
add r1, r4, #0
mov r2, #0x44
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [r6, #0xc]
bl sub_02074904
str r0, [r4]
@ -31470,7 +31470,7 @@ sub_0204FC78: ; 0x0204FC78
mov r0, #0
add r1, r4, #0
mov r2, #0x44
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [r6, #0xc]
bl sub_02074904
str r0, [r4]
@ -32147,7 +32147,7 @@ sub_020501B8: ; 0x020501B8
mov r0, #0
add r1, r4, #0
mov r2, #0x44
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [r6, #0xc]
bl sub_02074904
str r0, [r4]
@ -32412,11 +32412,11 @@ _020503CC: .word 0x0000044C
thumb_func_start sub_020503D0
sub_020503D0: ; 0x020503D0
ldr r3, _020503D8 ; =sub_020272C8
ldr r3, _020503D8 ; =SavArray_get
mov r1, #4
bx r3
nop
_020503D8: .word sub_020272C8
_020503D8: .word SavArray_get
thumb_func_end sub_020503D0
thumb_func_start sub_020503DC
@ -37286,7 +37286,7 @@ sub_02052A50: ; 0x02052A50
add r6, r1, #0
mov r1, #0xb
add r2, sp, #0
bl sub_02027104
bl LoadHallOfFame
add r4, r0, #0
ldr r0, [sp]
cmp r0, #1
@ -37308,7 +37308,7 @@ _02052A74:
bl sub_0202E0F8
ldr r0, [r5, #0xc]
add r1, r4, #0
bl sub_02027110
bl SaveHallOfFame
add r0, r4, #0
bl FreeToHeap
add sp, #0x14
@ -43321,7 +43321,7 @@ sub_020557F8: ; 0x020557F8
add r4, r0, #0
mov r0, #0
mov r2, #0x4c
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _02055820 ; =0x021D4178
add r0, r4, #0
bl sub_0205592C
@ -54479,7 +54479,7 @@ sub_0205AC88: ; 0x0205AC88
ldr r2, _0205ACF4 ; =0x000004E8
mov r0, #0
add r1, r4, #0
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x4e
str r5, [r4]
mov r1, #1
@ -54497,7 +54497,7 @@ sub_0205AC88: ; 0x0205AC88
ldr r0, [r4, r1]
mov r1, #8
ldr r0, [r0, #0xc]
bl sub_020272C8
bl SavArray_get
ldr r1, _0205AD00 ; =0x000004D8
ldr r2, _0205AD04 ; =0x00002710
str r0, [r4, r1]
@ -83740,7 +83740,7 @@ sub_02067A60: ; 0x02067A60
mov r0, #0
add r1, r4, #0
mov r2, #0x24
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_02067A60
@ -93608,7 +93608,7 @@ sub_0206C510: ; 0x0206C510
add r1, r4, #0
mov r2, #0xb4
str r0, [sp, #0x1c]
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r7, #0
mov r1, #5
mov r2, #0
@ -96617,7 +96617,7 @@ sub_0206DCE4: ; 0x0206DCE4
mov r0, #0
add r1, r4, #0
mov r2, #0xec
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
ldrh r2, [r4, #6]
add r0, #8
@ -96638,7 +96638,7 @@ sub_0206DD0C: ; 0x0206DD0C
mov r0, #0
add r1, r4, #0
mov r2, #0x88
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
ldrh r2, [r4, #6]
add r0, #8
@ -96855,7 +96855,7 @@ sub_0206DE38: ; 0x0206DE38
mov r0, #0
add r1, sp, #0x14
mov r2, #0x18
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r5, #0
mov r1, #0xab
add r2, sp, #0x14
@ -104648,7 +104648,7 @@ _020717AA:
mov r0, #0
add r1, sp, #4
mov r2, #0x18
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
mov r1, #0xab
add r2, sp, #4
@ -106979,7 +106979,7 @@ sub_02072894: ; 0x02072894
add r1, sp, #0
add r1, #1
mov r2, #0x18
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r4, #0
mov r1, #0xa2
add r2, sp, #0
@ -107607,7 +107607,7 @@ sub_02072D64: ; 0x02072D64
str r1, [sp]
mov r0, #0
mov r2, #0xec
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [sp]
bl sub_02070DB0
ldr r1, [r4]
@ -111470,11 +111470,11 @@ _02074900:
thumb_func_start sub_02074904
sub_02074904: ; 0x02074904
ldr r3, _0207490C ; =sub_020272C8
ldr r3, _0207490C ; =SavArray_get
mov r1, #2
bx r3
nop
_0207490C: .word sub_020272C8
_0207490C: .word SavArray_get
thumb_func_end sub_02074904
thumb_func_start sub_02074910
@ -113911,7 +113911,7 @@ sub_02075A7C: ; 0x02075A7C
mov r0, #0
add r1, r4, #0
mov r2, #0xbc
bl sub_020D4858
bl MIi_CpuClearFast
bl sub_02026E8C
str r0, [sp, #0x1c]
bl sub_02026E84
@ -114109,7 +114109,7 @@ sub_02075A7C: ; 0x02075A7C
ldr r1, [r4, #0x3c]
mov r0, #0
mov r2, #0x3c
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, [sp, #0x38]
ldr r0, [r4, #0x3c]
str r1, [r0, #0x2c]
@ -116176,7 +116176,7 @@ _02076D62:
mov r0, #0
add r1, sp, #8
mov r2, #0x18
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r5, #0
mov r1, #0xab
add r2, sp, #8
@ -119836,11 +119836,11 @@ _02078794:
thumb_func_start sub_0207879C
sub_0207879C: ; 0x0207879C
ldr r3, _020787A4 ; =sub_020272C8
ldr r3, _020787A4 ; =SavArray_get
mov r1, #3
bx r3
nop
_020787A4: .word sub_020272C8
_020787A4: .word SavArray_get
thumb_func_end sub_0207879C
thumb_func_start sub_020787A8
@ -166240,7 +166240,7 @@ sub_0208F918: ; 0x0208F918
mov r0, #0
add r1, r4, r1
lsl r2, r2, #6
bl sub_020D4858
bl MIi_CpuClearFast
bl sub_0203769C
cmp r0, #0
bne _0208F956
@ -172323,8 +172323,8 @@ _02092634: .word gMain
_02092638: .word gMain + 0x40
thumb_func_end sub_0209256C
thumb_func_start sub_0209263C
sub_0209263C: ; 0x0209263C
thumb_func_start ShowSaveDataReadError
ShowSaveDataReadError: ; 0x0209263C
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
add r4, r0, #0
@ -172483,7 +172483,7 @@ _020927C0: .word 0x021082A0
_020927C4: .word 0x000001F7
_020927C8: .word 0x00006C21
_020927CC: .word 0x02108288
thumb_func_end sub_0209263C
thumb_func_end ShowSaveDataReadError
thumb_func_start sub_020927D0
sub_020927D0: ; 0x020927D0
@ -172647,8 +172647,8 @@ _0209295C: .word 0x00006C21
_02092960: .word 0x02108288
thumb_func_end sub_020927D0
thumb_func_start sub_02092964
sub_02092964: ; 0x02092964
thumb_func_start ShowSaveDataWriteError
ShowSaveDataWriteError: ; 0x02092964
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r4, r0, #0
@ -172815,7 +172815,7 @@ _02092AF4: .word 0x021082FC
_02092AF8: .word 0x000001F7
_02092AFC: .word 0x00006C21
_02092B00: .word 0x021082E4
thumb_func_end sub_02092964
thumb_func_end ShowSaveDataWriteError
thumb_func_start sub_02092B04
sub_02092B04: ; 0x02092B04

View File

@ -64,7 +64,7 @@ sub_02007FD4: ; 0x02007FD4
mov r0, #0
add r1, r4, #0
lsl r2, r2, #2
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0xba
lsl r0, r0, #2
add r1, r0, #0
@ -99,7 +99,7 @@ sub_02007FD4: ; 0x02007FD4
ldr r1, [r4, r1]
mov r0, #0
mov r2, #4
bl sub_020D4858
bl MIi_CpuClearFast
add r0, r5, #0
mov r1, #0xc0
bl AllocFromHeap
@ -109,7 +109,7 @@ sub_02007FD4: ; 0x02007FD4
ldr r1, [r4, r1]
mov r0, #0
mov r2, #4
bl sub_020D4858
bl MIi_CpuClearFast
mov r6, #0
add r5, r4, #0
add r7, r6, #0
@ -117,7 +117,7 @@ _0200805A:
add r0, r7, #0
add r1, r5, #0
mov r2, #0xac
bl sub_020D4858
bl MIi_CpuClearFast
add r6, r6, #1
add r5, #0xac
cmp r6, #4
@ -900,7 +900,7 @@ _02008654:
mov r0, #0
add r1, r5, #0
mov r2, #0xac
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, [r4, r6]
mov r0, #1
bic r1, r0

View File

@ -253,7 +253,7 @@ sub_02015C28: ; 0x02015C28
bl sub_02028900
add r0, r4, #0
mov r1, #0x1e
bl sub_020272C8
bl SavArray_get
pop {r4, pc}
thumb_func_end sub_02015C28

View File

@ -151,3 +151,37 @@ _02026FDC: .word 0x00007FFF
_02026FE0: .word 0xBFFF0000
_02026FE4: .word 0x04000580
thumb_func_end sub_02026F6C
thumb_func_start sub_02026FE8
sub_02026FE8: ; 0x02026FE8
push {r3, r4, lr}
sub sp, #4
ldr r4, [sp, #0x10]
str r4, [sp]
bl sub_020B67BC
add sp, #4
pop {r3, r4, pc}
thumb_func_end sub_02026FE8
thumb_func_start sub_02026FF8
sub_02026FF8: ; 0x02026FF8
push {r3, lr}
bl sub_020B6B1C
pop {r3, pc}
thumb_func_end sub_02026FF8
thumb_func_start sub_02027000
sub_02027000: ; 0x02027000
ldr r3, _02027004 ; =sub_020B5A24
bx r3
.balign 4, 0
_02027004: .word sub_020B5A24
thumb_func_end sub_02027000
thumb_func_start sub_02027008
sub_02027008: ; 0x02027008
ldr r3, _0202700C ; =sub_020B5D18
bx r3
.balign 4, 0
_0202700C: .word sub_020B5D18
thumb_func_end sub_02027008

95
asm/unk_02027010.s Normal file
View File

@ -0,0 +1,95 @@
.include "asm/macros.inc"
.include "global.inc"
.rodata
_020F6458:
.asciz "rom"
.text
thumb_func_start sub_02027010
sub_02027010: ; 0x02027010
push {r3, lr}
bl sub_020D7F88
cmp r0, #0
bne _02027020
bl sub_020D3F48
pop {r3, pc}
_02027020:
ldr r0, _0202707C ; =0x027FF00C
ldr r0, [r0]
cmp r0, #0
bne _0202704A
bl sub_020DD84C
mov r2, #0x16
ldr r0, _02027080 ; =0x027FFE00
ldr r1, _02027084 ; =0x027FF000
lsl r2, r2, #4
bl sub_020D4A50
mov r2, #0x16
ldr r0, _02027080 ; =0x027FFE00
ldr r1, _02027088 ; =0x027FFA80
lsl r2, r2, #4
bl sub_020D4A50
ldr r1, _0202708C ; =0x4A414441
ldr r0, _0202707C ; =0x027FF00C
str r1, [r0]
_0202704A:
ldr r0, _02027090 ; =_020F6458
mov r1, #3
bl sub_020D7958
ldr r1, _02027084 ; =0x027FF000
ldr r2, [r1, #0x48]
str r2, [r0, #0x2c]
ldr r2, [r1, #0x4c]
str r2, [r0, #0x30]
ldr r2, [r1, #0x40]
str r2, [r0, #0x34]
ldr r2, [r1, #0x44]
str r2, [r0, #0x38]
ldr r2, [r1, #0xc]
ldr r0, _0202708C ; =0x4A414441
cmp r2, r0
bne _02027074
ldrh r1, [r1, #0x10]
ldr r0, _02027094 ; =0x00003130
cmp r1, r0
beq _02027078
_02027074:
bl sub_020D3F48
_02027078:
pop {r3, pc}
nop
_0202707C: .word 0x027FF00C
_02027080: .word 0x027FFE00
_02027084: .word 0x027FF000
_02027088: .word 0x027FFA80
_0202708C: .word 0x4A414441
_02027090: .word _020F6458
_02027094: .word 0x00003130
thumb_func_end sub_02027010
thumb_func_start sub_02027098
sub_02027098: ; 0x02027098
push {r4, lr}
sub sp, #0x48
add r4, r0, #0
add r0, sp, #0
bl FS_InitFile
add r0, sp, #0
add r1, r4, #0
bl FS_OpenFile
cmp r0, #0
beq _020270BC
ldr r1, [sp, #0x24]
ldr r0, _020270C0 ; =0x027FFC2C
str r1, [r0]
mov r0, #0
bl OS_ResetSystem
_020270BC:
add sp, #0x48
pop {r4, pc}
.balign 4, 0
_020270C0: .word 0x027FFC2C
thumb_func_end sub_02027098

168
asm/unk_020270C4.s Normal file
View File

@ -0,0 +1,168 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start sub_020270C4
sub_020270C4: ; 0x020270C4
push {r4, lr}
add r4, r0, #0
mov r0, #0x17
bl sub_02028900
add r0, r4, #0
mov r1, #0x17
bl SavArray_get
pop {r4, pc}
thumb_func_end sub_020270C4
thumb_func_start sub_020270D8
sub_020270D8: ; 0x020270D8
ldr r3, _020270E0 ; =SavArray_get
mov r1, #0x29
bx r3
nop
_020270E0: .word SavArray_get
thumb_func_end sub_020270D8
thumb_func_start sub_020270E4
sub_020270E4: ; 0x020270E4
push {r4, lr}
add r4, r0, #0
mov r0, #0x1b
bl sub_02028900
add r0, r4, #0
mov r1, #0x1b
bl SavArray_get
pop {r4, pc}
thumb_func_end sub_020270E4
thumb_func_start sub_020270F8
sub_020270F8: ; 0x020270F8
ldr r3, _02027100 ; =SavArray_get
mov r1, #0x1c
bx r3
nop
_02027100: .word SavArray_get
thumb_func_end sub_020270F8
thumb_func_start LoadHallOfFame
LoadHallOfFame: ; 0x02027104
push {r3, lr}
add r3, r2, #0
mov r2, #0
bl ReadSaveFileFromFlash
pop {r3, pc}
thumb_func_end LoadHallOfFame
thumb_func_start SaveHallOfFame
SaveHallOfFame: ; 0x02027110
ldr r3, _02027118 ; =WriteSaveFileToFlash
add r2, r1, #0
mov r1, #0
bx r3
.balign 4, 0
_02027118: .word WriteSaveFileToFlash
thumb_func_end SaveHallOfFame
thumb_func_start sub_0202711C
sub_0202711C: ; 0x0202711C
push {r4, lr}
sub sp, #8
add r4, r2, #0
add r2, sp, #4
str r2, [sp]
add r2, r3, #2
add r3, r4, #0
bl sub_020284A4
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0202711C
thumb_func_start sub_02027134
sub_02027134: ; 0x02027134
add r3, r1, #0
add r1, r2, #2
add r2, r3, #0
ldr r3, _02027140 ; =sub_02028230
bx r3
nop
_02027140: .word sub_02028230
thumb_func_end sub_02027134
thumb_func_start sub_02027144
sub_02027144: ; 0x02027144
push {r3, lr}
sub sp, #8
add r3, r2, #0
add r2, sp, #4
str r2, [sp]
mov r2, #1
bl sub_020284A4
add sp, #8
pop {r3, pc}
thumb_func_end sub_02027144
thumb_func_start sub_02027158
sub_02027158: ; 0x02027158
ldr r3, _02027160 ; =sub_02028230
add r2, r1, #0
mov r1, #1
bx r3
.balign 4, 0
_02027160: .word sub_02028230
thumb_func_end sub_02027158
thumb_func_start sub_02027164
sub_02027164: ; 0x02027164
ldr r3, _02027168 ; =sub_02074120
bx r3
.balign 4, 0
_02027168: .word sub_02074120
thumb_func_end sub_02027164
thumb_func_start sub_0202716C
sub_0202716C: ; 0x0202716C
mov r0, #0x12
bx lr
thumb_func_end sub_0202716C
thumb_func_start sub_02027170
sub_02027170: ; 0x02027170
push {r3, lr}
mov r1, #0x29
bl SavArray_get
bl sub_02074114
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02027170
thumb_func_start sub_02027180
sub_02027180: ; 0x02027180
push {r3, lr}
mov r1, #0x29
bl SavArray_get
bl sub_02074108
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02027180
thumb_func_start sub_02027190
sub_02027190: ; 0x02027190
push {r3, lr}
mov r1, #0x29
bl SavArray_get
bl sub_020740F8
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02027190
thumb_func_start sub_020271A0
sub_020271A0: ; 0x020271A0
push {r3, lr}
mov r1, #0x29
bl SavArray_get
bl sub_02074128
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020271A0

View File

@ -1,3 +1,5 @@
#pragma once
.public AddTextPrinterParameterized
.public AddTextPrinterParameterized3
.public AddWindow
@ -24664,7 +24666,7 @@
.public sub_0201FF28
.public sub_0201FF44
.public sub_0201FF70
.public sub_0201FF98
.public MATH_CalcCRC16CCITT
.public sub_0201FFE0
.public sub_02020080
.public sub_02020094
@ -24955,11 +24957,11 @@
.public sub_020270F8
.public sub_02027134
.public sub_020272B0
.public sub_020272C8
.public SavArray_get
.public sub_020273B0
.public sub_020273F0
.public sub_0202746C
.public sub_020274A8
.public Sav2_InitDynamicRegion
.public sub_020274D0
.public sub_020274D8
.public sub_020274E0
@ -26618,7 +26620,7 @@
.public sub_02091C74
.public sub_02091C84
.public sub_02091CAC
.public sub_0209263C
.public ShowSaveDataReadError
.public sub_020927D0
.public sub_02092BB8
.public sub_02092BD8
@ -27233,8 +27235,8 @@
.public sub_020D11D4
.public sub_020D1204
.public sub_020D1234
.public sub_020D15C4
.public sub_020D161C
.public OS_GetLockID
.public OS_ReleaseLockID
.public sub_020D164C
.public sub_020D168C
.public sub_020D16B4
@ -27311,7 +27313,7 @@
.public sub_020D47EC
.public MIi_CpuCopy32
.public sub_020D4830
.public sub_020D4858
.public MIi_CpuClearFast
.public sub_020D48B4
.public MI_Copy36B
.public sub_020D4968
@ -27422,15 +27424,15 @@
.public RTC_ConvertDateTimeToSecond
.public sub_020DC394
.public sub_020DC514
.public sub_020DC958
.public CARD_GetResultCode
.public sub_020DC96C
.public sub_020DC988
.public sub_020DC9A4
.public sub_020DC9B4
.public CARD_LockBackup
.public CARD_UnlockBackup
.public sub_020DC9DC
.public sub_020DCF64
.public sub_020DD060
.public sub_020DD198
.public CARDi_RequestStreamCommand
.public CARD_IdentifyBackup
.public CARD_WaitBackupAsync
.public sub_020DD1B0
.public sub_020DD754
.public sub_020DD84C
@ -27744,13 +27746,13 @@
.public sub_02090F00
.public sub_02090F38
.public sub_02091240
.public sub_02092964
.public ShowSaveDataWriteError
.public sub_02092BD0
.public sub_02092D80
.public sub_02092D8C
.public sub_02092DD8
.public sub_02027104
.public sub_02027110
.public LoadHallOfFame
.public SaveHallOfFame
.public sub_020272F4
.public sub_020274D4
.public sub_02028DC0
@ -28809,3 +28811,106 @@
.public sub_0206BC8C
.public sub_0206DC50
.public sub_02040890
.public ReadSaveFileFromFlash
.public WriteSaveFileToFlash
.public sub_02028230
.public sub_020284A4
.public sub_0202711C
.public sub_02027144
.public sub_02027158
.public sub_02027164
.public sub_0202716C
.public sub_02027170
.public sub_02027180
.public sub_02027190
.public sub_020271A0
.public sub_02015BF0
.public sub_02028D14
.public sub_02028E6C
.public sub_020290B8
.public sub_020292A8
.public sub_020293E0
.public sub_0202A8B4
.public sub_0202A9C4
.public sub_0202A9D8
.public sub_0202AEC0
.public sub_0202B518
.public sub_0202B98C
.public sub_0202C034
.public sub_0202C6FC
.public sub_0202C714
.public sub_0202C730
.public sub_0202C9A0
.public sub_0202CA24
.public sub_0202CBC0
.public sub_0202CE30
.public sub_0202CF1C
.public sub_0202D938
.public sub_0202D968
.public sub_0202DB40
.public sub_0202DBA8
.public sub_0202E0DC
.public sub_0202E41C
.public sub_0202E4F4
.public sub_0202EB30
.public sub_0202ED18
.public sub_0202ED74
.public sub_0202F574
.public sub_0202FA5C
.public sub_0202FBD4
.public sub_02031000
.public sub_02031084
.public sub_020310A0
.public sub_020312A4
.public sub_0203170C
.public sub_020318C8
.public sub_02031904
.public sub_02031AF0
.public sub_02031B0C
.public sub_020325F8
.public sub_02032774
.public sub_0203B91C
.public sub_0203B920
.public sub_020503B8
.public sub_02073B20
.public sub_02078180
.public sub_02015BF4
.public sub_02028D18
.public sub_02028E70
.public sub_020290C8
.public sub_020292B0
.public sub_02029D98
.public sub_0202A8BC
.public sub_0202AED4
.public sub_0202B520
.public sub_0202B930
.public sub_0202C75C
.public sub_0202C9A8
.public sub_0202CA2C
.public sub_0202CBC8
.public sub_0202CE38
.public sub_0202CF24
.public sub_0202D93C
.public sub_0202D96C
.public sub_0202DB44
.public sub_0202E424
.public sub_0202E4FC
.public sub_0202EB38
.public sub_0202ED1C
.public sub_0202EDEC
.public sub_0202F588
.public sub_0202FA70
.public sub_02031008
.public sub_020312AC
.public sub_020318CC
.public sub_0203190C
.public sub_02031AF4
.public sub_02031B54
.public sub_02032600
.public sub_02032788
.public sub_0203B928
.public sub_0203B938
.public sub_020503C0
.public sub_02073B18
.public sub_020781A0
.public sub_020272EC

View File

@ -3007,7 +3007,7 @@ sub_020CD7C4: ; 0x020CD7C4
bne _020CD838
mvn r4, #2
_020CD814:
bl sub_020D15C4
bl OS_GetLockID
mov r6, r0
cmp r6, r4
bne _020CD828
@ -8179,8 +8179,8 @@ sub_020D15BC: ; 0x020D15BC
bx lr
arm_func_end sub_020D15BC
arm_func_start sub_020D15C4
sub_020D15C4: ; 0x020D15C4
arm_func_start OS_GetLockID
OS_GetLockID: ; 0x020D15C4
ldr r3, _020D1614 ; =0x027FFFB0
ldr r1, [r3]
clz r2, r1
@ -8205,10 +8205,10 @@ _020D15F8:
.align 2, 0
_020D1614: .word 0x027FFFB0
_020D1618: .word 0xFFFFFFFD
arm_func_end sub_020D15C4
arm_func_end OS_GetLockID
arm_func_start sub_020D161C
sub_020D161C: ; 0x020D161C
arm_func_start OS_ReleaseLockID
OS_ReleaseLockID: ; 0x020D161C
ldr r3, _020D1648 ; =0x027FFFB0
cmp r0, #0x60
addpl r3, r3, #4
@ -8222,7 +8222,7 @@ sub_020D161C: ; 0x020D161C
bx lr
.align 2, 0
_020D1648: .word 0x027FFFB0
arm_func_end sub_020D161C
arm_func_end OS_ReleaseLockID
arm_func_start sub_020D164C
sub_020D164C: ; 0x020D164C
@ -11329,7 +11329,7 @@ OS_ResetSystem: ; 0x020D3B84
beq _020D3BAC
bl sub_020D3F48
_020D3BAC:
bl sub_020D15C4
bl OS_GetLockID
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
bl sub_020DC96C
@ -12346,8 +12346,8 @@ _020D4850:
bx lr
arm_func_end sub_020D4830
arm_func_start sub_020D4858
sub_020D4858: ; 0x020D4858
arm_func_start MIi_CpuClearFast
MIi_CpuClearFast: ; 0x020D4858
stmdb sp!, {r4, r5, r6, r7, r8, sb}
add sb, r1, r2
mov ip, r2, lsr #5
@ -12377,7 +12377,7 @@ _020D48A8:
blt _020D4898
ldmia sp!, {r4, r5, r6, r7, r8, sb}
bx lr
arm_func_end sub_020D4858
arm_func_end MIi_CpuClearFast
arm_func_start sub_020D48B4
sub_020D48B4: ; 0x020D48B4
@ -17225,7 +17225,7 @@ sub_020D8590: ; 0x020D8590
sub sp, sp, #0x10
ldr r1, _020D86B0 ; =0x021E363C
str r0, [r1, #4]
bl sub_020D15C4
bl OS_GetLockID
ldr r1, _020D86B0 ; =0x021E363C
mov r2, #0
str r0, [r1]
@ -22269,7 +22269,7 @@ sub_020DC7A8: ; 0x020DC7A8
str r0, [r4, #0xc]
str r0, [r4, #0x18]
str r1, [r4]
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _020DC8A0 ; =0x021E37C0
mov r1, #0x60
bl DC_FlushRange
@ -22396,15 +22396,15 @@ sub_020DC93C: ; 0x020DC93C
_020DC954: .word 0x021E3820
arm_func_end sub_020DC93C
arm_func_start sub_020DC958
sub_020DC958: ; 0x020DC958
arm_func_start CARD_GetResultCode
CARD_GetResultCode: ; 0x020DC958
ldr r0, _020DC968 ; =0x021E3820
ldr r0, [r0]
ldr r0, [r0]
bx lr
.align 2, 0
_020DC968: .word 0x021E3820
arm_func_end sub_020DC958
arm_func_end CARD_GetResultCode
arm_func_start sub_020DC96C
sub_020DC96C: ; 0x020DC96C
@ -22428,29 +22428,29 @@ sub_020DC988: ; 0x020DC988
ldmia sp!, {r4, pc}
arm_func_end sub_020DC988
arm_func_start sub_020DC9A4
sub_020DC9A4: ; 0x020DC9A4
arm_func_start CARD_LockBackup
CARD_LockBackup: ; 0x020DC9A4
ldr ip, _020DC9B0 ; =sub_020DC698
mov r1, #2
bx ip
.align 2, 0
_020DC9B0: .word sub_020DC698
arm_func_end sub_020DC9A4
arm_func_end CARD_LockBackup
arm_func_start sub_020DC9B4
sub_020DC9B4: ; 0x020DC9B4
arm_func_start CARD_UnlockBackup
CARD_UnlockBackup: ; 0x020DC9B4
stmdb sp!, {r4, lr}
mov r4, r0
bl CARD_TryWaitBackupAsync
cmp r0, #0
bne _020DC9CC
bl sub_020DD198
bl CARD_WaitBackupAsync
_020DC9CC:
mov r0, r4
mov r1, #2
bl sub_020DC71C
ldmia sp!, {r4, pc}
arm_func_end sub_020DC9B4
arm_func_end CARD_UnlockBackup
arm_func_start sub_020DC9DC
sub_020DC9DC: ; 0x020DC9DC
@ -22853,8 +22853,8 @@ _020DCF5C: .word _version_NINTENDO_BACKUP
_020DCF60: .word 0x021E3820
arm_func_end sub_020DCD74
arm_func_start sub_020DCF64
sub_020DCF64: ; 0x020DCF64
arm_func_start CARDi_RequestStreamCommand
CARDi_RequestStreamCommand: ; 0x020DCF64
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov sb, r0
ldr r4, _020DD03C ; =0x021E3820
@ -22917,7 +22917,7 @@ _020DD03C: .word 0x021E3820
_020DD040: .word _version_NINTENDO_BACKUP
_020DD044: .word sub_020DCD74
_020DD048: .word 0x021E16A0
arm_func_end sub_020DCF64
arm_func_end CARDi_RequestStreamCommand
arm_func_start sub_020DD04C
sub_020DD04C: ; 0x020DD04C
@ -22929,8 +22929,8 @@ sub_020DD04C: ; 0x020DD04C
_020DD05C: .word 0x021E3820
arm_func_end sub_020DD04C
arm_func_start sub_020DD060
sub_020DD060: ; 0x020DD060
arm_func_start CARD_IdentifyBackup
CARD_IdentifyBackup: ; 0x020DD060
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r6, r0
ldr r0, _020DD18C ; =_version_NINTENDO_BACKUP
@ -23015,15 +23015,15 @@ _020DD174:
_020DD18C: .word _version_NINTENDO_BACKUP
_020DD190: .word 0x021E3820
_020DD194: .word 0x021E16A0
arm_func_end sub_020DD060
arm_func_end CARD_IdentifyBackup
arm_func_start sub_020DD198
sub_020DD198: ; 0x020DD198
arm_func_start CARD_WaitBackupAsync
CARD_WaitBackupAsync: ; 0x020DD198
ldr ip, _020DD1A0 ; =sub_020DC8F0
bx ip
.align 2, 0
_020DD1A0: .word sub_020DC8F0
arm_func_end sub_020DD198
arm_func_end CARD_WaitBackupAsync
arm_func_start CARD_TryWaitBackupAsync
CARD_TryWaitBackupAsync: ; 0x020DD1A4
@ -23943,7 +23943,7 @@ sub_020DDCF4: ; 0x020DDCF4
ldr r0, _020DDD40 ; =0x0000FFFD
cmp r1, r0
ldmneia sp!, {r3, pc}
bl sub_020D15C4
bl OS_GetLockID
ldr r1, _020DDD3C ; =_02110FBC
strh r0, [r1]
ldmia sp!, {r3, pc}
@ -24065,7 +24065,7 @@ sub_020DDE94: ; 0x020DDE94
ldr r0, _020DDFCC ; =_02110FBC
strb r1, [r6]
ldrh r0, [r0]
bl sub_020DC9A4
bl CARD_LockBackup
ldr r0, _020DDFCC ; =_02110FBC
ldrh r0, [r0]
bl sub_020D1548
@ -24134,7 +24134,7 @@ _020DDF98:
bl sub_020D1580
ldr r0, _020DDFCC ; =_02110FBC
ldrh r0, [r0]
bl sub_020DC9B4
bl CARD_UnlockBackup
mov r0, r4
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
@ -24161,7 +24161,7 @@ sub_020DDFE0: ; 0x020DDFE0
ldrh r0, [r2]
mov r5, r1
strb r3, [r7]
bl sub_020DC9A4
bl CARD_LockBackup
ldr r0, _020DE0B4 ; =_02110FBC
ldrh r0, [r0]
bl sub_020D1548
@ -24202,7 +24202,7 @@ _020DE084:
bl sub_020D1580
ldr r0, _020DE0B4 ; =_02110FBC
ldrh r0, [r0]
bl sub_020DC9B4
bl CARD_UnlockBackup
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
_020DE0AC: .word 0x021E4158
@ -24226,7 +24226,7 @@ sub_020DE0C8: ; 0x020DE0C8
mov r1, #8
ldrh r0, [r0]
strb r1, [r3]
bl sub_020DC9A4
bl CARD_LockBackup
ldr r0, _020DE230 ; =_02110FBC
ldrh r0, [r0]
bl sub_020D1548
@ -24305,7 +24305,7 @@ _020DE1FC:
bl sub_020D1580
ldr r0, _020DE230 ; =_02110FBC
ldrh r0, [r0]
bl sub_020DC9B4
bl CARD_UnlockBackup
ldrb r0, [sp]
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
@ -26640,7 +26640,7 @@ _020E0170:
mov r1, sl
mov r0, #0
mov r2, #0x820
bl sub_020D4858
bl MIi_CpuClearFast
add r0, sl, #0x800
mov r2, #0
strh r2, [r0, #8]
@ -27676,7 +27676,7 @@ sub_020E0FB8: ; 0x020E0FB8
add r0, sp, #0
str r3, [sp]
bl SVC_CpuSet
bl sub_020D15C4
bl OS_GetLockID
ldr r1, _020E0FEC ; =0x021E4D40
strh r0, [r1, #6]
ldmia sp!, {r3, pc}
@ -28535,7 +28535,7 @@ sub_020E1A3C: ; 0x020E1A3C
cmp r7, #1
mov r0, #1
bhi _020E1B8C
bl sub_020D15C4
bl OS_GetLockID
ldr r1, _020E1BA8 ; =0x021E4F2C
strh r0, [r1]
ldrh r0, [r1]
@ -28619,7 +28619,7 @@ _020E1AFC:
_020E1B8C:
cmp r7, #2
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
bl sub_020D15C4
bl OS_GetLockID
ldr r1, _020E1BE0 ; =0x021E4F60
strh r0, [r1]
mov r0, #0

View File

@ -5777,7 +5777,7 @@ sub_020B9330: ; 0x020B9330
add r0, r0, r5, lsl #5
add r1, r0, #0x10
mvn r0, #0
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _020B9454 ; =0x021D94D8
ldr r1, [r0, #4]
ldr ip, [r0, #0xc]
@ -6625,7 +6625,7 @@ _020B9F68:
mov r0, r5
mov r2, r4
add r1, r7, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
add r6, r6, #1
cmp r6, #0x20
add r7, r7, #0x20
@ -6636,7 +6636,7 @@ _020B9F68:
ldr r1, _020B9FC4 ; =0x021D9568
mov r2, #0x100
strh r0, [r3, #2]
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _020B9FB4 ; =0x021D94D8
mov r1, #0
str r1, [r0, #4]
@ -6705,7 +6705,7 @@ _020BA06C:
mov r0, r7
mov r2, r6
add r1, r8, #0x10
bl sub_020D4858
bl MIi_CpuClearFast
ldrh r0, [r5]
add r4, r4, #1
add r8, r8, #0x20
@ -6718,7 +6718,7 @@ _020BA090:
ldr r1, _020BA0D4 ; =0x021D9568
mov r2, #0x100
strh r0, [r3, #2]
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, _020BA0D8 ; =0x04000444
mov r1, #0
str r1, [r0]
@ -9569,7 +9569,7 @@ sub_020BC704: ; 0x020BC704
ldr r2, [sp, #0x18]
mov r1, ip
mov r2, r2, lsl #3
bl sub_020D4858
bl MIi_CpuClearFast
ldmia sp!, {r3, r4, r5, pc}
_020BC734:
ldr r4, [sp, #0x18]
@ -10071,7 +10071,7 @@ sub_020BCE24: ; 0x020BCE24
mov r0, r1
mul r2, lr, r2
ldr r1, [r3]
bl sub_020D4858
bl MIi_CpuClearFast
ldmia sp!, {r3, pc}
arm_func_end sub_020BCE24
@ -10103,7 +10103,7 @@ _020BCECC:
mov r0, r6
mov r1, sb
mov r2, r4
bl sub_020D4858
bl MIi_CpuClearFast
ldr r0, [r7, #8]
add r8, r8, #1
cmp r8, r0
@ -13177,7 +13177,7 @@ _020BF73C:
mov r1, sl
mov r0, #0
mov r2, #0x58
bl sub_020D4858
bl MIi_CpuClearFast
mvn r0, #0
str r0, [sl]
add fp, sp, #0x40
@ -13433,7 +13433,7 @@ sub_020BFAC4: ; 0x020BFAC4
mov r1, r5
mov r0, #0
mov r2, #0x188
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #1
str r0, [r5, #0xc4]
str r0, [r5, #8]
@ -15089,7 +15089,7 @@ sub_020C11B4: ; 0x020C11B4
mov r4, r5
str r3, [sp, #0x14]
add r6, r6, #3
bl sub_020D4858
bl MIi_CpuClearFast
bl sub_020C23F4
mov r0, r5
ldr r1, _020C1900 ; =0x04000440

View File

@ -6625,7 +6625,7 @@ sub_0209E00C: ; 0x0209E00C
bne _0209E06C
mvn r4, #2
_0209E04C:
bl sub_020D15C4
bl OS_GetLockID
cmp r0, r4
moveq r0, #7
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
@ -30285,13 +30285,13 @@ _020B1CA4:
mov r1, r7
mov r2, r6
mov r0, #0
bl sub_020D4858
bl MIi_CpuClearFast
b _020B1CCC
_020B1CB8:
mov r1, r7
mov r2, r6
mov r0, #0
bl sub_020D4858
bl MIi_CpuClearFast
mov r4, #0
_020B1CCC:
ldr r0, _020B1CF0 ; =0x021D6040
@ -33033,7 +33033,7 @@ _020B4048:
ldmneia sp!, {r4, r5, r6, pc}
mov r1, r0
mov r0, #0
bl sub_020D4858
bl MIi_CpuClearFast
subs lr, r4, #1
mov r5, #0
beq _020B40A8

View File

@ -502,7 +502,7 @@ _0221C114:
mov r2, #0x7d00
add r3, r1, #0x1000
ldr r4, [r3, #0x4e4]
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _0221C15C ; =0x0224CF4C
mov r0, #0
str r0, [r1]
@ -2450,7 +2450,7 @@ ov13_0221DBB4: ; 0x0221DBB4
mov r0, #0
mov r2, #0x220
strb r3, [r6, #0x4b2]
bl sub_020D4858
bl MIi_CpuClearFast
_0221DC34:
ldr r0, [r5, #0x14]
cmp r4, #0

View File

@ -30236,7 +30236,7 @@ ov13_0223F664: ; 0x0223F664
bne _0223F6A0
bl sub_020D3F48
_0223F6A0:
bl sub_020D15C4
bl OS_GetLockID
ldr r2, _0223F7F4 ; =0x0224F5CC
add r1, sp, #0x18
ldr r3, [r2]
@ -30354,7 +30354,7 @@ ov13_0223F814: ; 0x0223F814
ldr r0, _0223F898 ; =0x0224F5CC
ldr r0, [r0]
ldrh r0, [r0, #0xe4]
bl sub_020D161C
bl OS_ReleaseLockID
ldr r0, _0223F898 ; =0x0224F5CC
mov r2, #0
ldr r1, [r0]
@ -33175,7 +33175,7 @@ ov13_02241C68: ; 0x02241C68
mov r0, #0x200
mov r2, #0x800
str r1, [r3]
bl sub_020D4858
bl MIi_CpuClearFast
mov r5, #0
ldr r7, _02241CFC ; =0x0224F608
mov r6, r5
@ -33624,28 +33624,28 @@ ov13_0224225C: ; 0x0224225C
mov r0, #0
mov r1, #0x6800000
mov r2, #0x40000
bl sub_020D4858
bl MIi_CpuClearFast
ldr r1, _022422D4 ; =0x06880000
mov r0, #0
mov r2, #0x24000
bl sub_020D4858
bl MIi_CpuClearFast
bl sub_020CEB60
mov r0, #0x200
mov r1, #0x7000000
mov r2, #0x400
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0
mov r1, #0x5000000
mov r2, #0x400
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0x200
ldr r1, _022422D8 ; =0x07000400
mov r2, #0x400
bl sub_020D4858
bl MIi_CpuClearFast
mov r0, #0
ldr r1, _022422DC ; =0x05000400
mov r2, #0x400
bl sub_020D4858
bl MIi_CpuClearFast
ldmia sp!, {r3, pc}
.balign 4, 0
_022422D0: .word 0x000001F3

View File

@ -219,7 +219,7 @@ BOOL CARDi_TryWaitAsync(void);
CARDResult CARD_GetResultCode(void);
void CARD_LockRom(u16 lock_id);
void CARD_UnlockRom(u16 lock_id);
void CARD_LockBackup(u16 lock_id);
void OS_GetLockID(u16 lock_id);
void CARD_UnlockBackup(u16 lock_id);
#define CARD_RETRY_COUNT_MAX 10

View File

@ -83,7 +83,10 @@ Static main
Object unk_02026E30.o
Object unk_02026E84.o
Object unk_02026EB4.o
Object unk_02026FE8.o
Object unk_02027010.o
Object unk_020270C4.o
Object save.o
Object sav_system_info.o
Object scrcmd.o
### Vendor libraries ###
Object middleware.o