Split arm9 ASM JP

This commit is contained in:
AnonymousRandomPerson 2023-11-25 00:02:51 -06:00
parent 590d633a48
commit f4880f0b8f
6 changed files with 4064 additions and 315 deletions

File diff suppressed because it is too large Load Diff

View File

@ -424,12 +424,19 @@ IsMonsterOnTeam: ; 0x02055148
mov sb, r1
bl GetGameMode
cmp r0, #3
#ifdef JAPAN
mov r6, #1
bne _020554FC
#else
bne _020551C0
#endif
ldr r0, _02055230 ; =TEAM_MEMBER_TABLE_PTR
mov r8, #0
ldr r7, [r0]
mov r5, r8
#ifndef JAPAN
mov r6, #1
#endif
ldr r4, _02055234 ; =_020B0A4C
b _020551B8
_0205517C:
@ -452,6 +459,37 @@ _020551B0:
_020551B8:
cmp r8, #2
blt _0205517C
#ifdef JAPAN
b _020551C0
_020554FC:
ldr r0, _02055230 ; =_020B0A48
mov r8, #2
ldr r0, [r0]
mov r5, #0
add r7, r0, #0x88
ldr r4, _02055234 ; =_020B0A4C
b _02055554
_02055518:
ldrb r0, [r7]
tst r0, #1
movne r0, r6
moveq r0, r5
tst r0, #0xff
beq _0205554C
ldrsh r0, [r7, #4]
ldr r2, [r4, sb, lsl #2]
mov r1, sl
blx r2
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0205554C:
add r8, r8, #1
add r7, r7, #0x44
_02055554:
cmp r8, #5
blt _02055518
#endif
_020551C0:
ldr r0, _02055230 ; =TEAM_MEMBER_TABLE_PTR
mov r8, #5
@ -2420,6 +2458,15 @@ SetTeamSetupHeroAndPartnerOnly: ; 0x020569CC
bl GetMainCharacter2MemberIdx
mov r6, r0
bl GetMainCharacter3MemberIdx
#ifdef JAPAN
mov sl, #0
ldr r1, _02056AAC ; =TEAM_MEMBER_TABLE_PTR
mov r7, r0
ldr r0, [r1]
mov fp, sl
add r0, r0, #0x9000
ldr sb, [r0, #0x84c]
#else
mov r8, #0
ldr r1, _02056AAC ; =TEAM_MEMBER_TABLE_PTR
mov r7, r0
@ -2428,6 +2475,7 @@ SetTeamSetupHeroAndPartnerOnly: ; 0x020569CC
add r0, r1, #0x9000
ldr sb, [r0, #0x84c]
mov fp, r8
#endif
mov r4, #1
_02056A08:
ldrb r0, [sb]
@ -2485,6 +2533,14 @@ SetTeamSetupHeroOnly: ; 0x02056AB0
bl sub_020568A4
ldr r1, _02056B54 ; =TEAM_MEMBER_TABLE_PTR
mov r7, r0
#ifdef JAPAN
ldr r0, [r1]
mov sl, #0
add r0, r0, #0x9000
mov r6, #1
ldr sb, [r0, #0x84c]
mov r5, sl
#else
mov r8, #0
ldr r1, [r1]
mov r6, #1
@ -2492,6 +2548,7 @@ SetTeamSetupHeroOnly: ; 0x02056AB0
ldr sb, [r0, #0x84c]
mov sl, r8
mov r5, r8
#endif
mov r4, r6
_02056AE0:
ldrb r0, [sb]
@ -3921,6 +3978,7 @@ _02057DE4:
_02057DF8: .word TEAM_MEMBER_TABLE_PTR
arm_func_end RefillTeam
#ifndef JAPAN
arm_func_start sub_02057DFC
sub_02057DFC: ; 0x02057DFC
stmdb sp!, {r3, r4, r5, r6, r7, lr}
@ -3965,6 +4023,7 @@ _02057E78:
.align 2, 0
_02057E8C: .word TEAM_MEMBER_TABLE_PTR
arm_func_end sub_02057DFC
#endif
arm_func_start sub_02057E90
sub_02057E90: ; 0x02057E90
@ -4698,7 +4757,9 @@ sub_020587C8: ; 0x020587C8
sub_020587E0: ; 0x020587E0
stmdb sp!, {r4, lr}
mov r4, r0
#ifndef JAPAN
bl sub_02057DFC
#endif
bl sub_02057E90
mvn r0, #0
bl sub_02058644
@ -4994,12 +5055,16 @@ _02058C18: .word _020AFC4C
arm_func_start GetIqSkillStringId
GetIqSkillStringId: ; 0x02058C1C
#ifdef EUROPE
#if defined(EUROPE)
add r0, r0, #0xe7
add r0, r0, #0x2600
#elif defined(JAPAN)
add r0, r0, #0x13
add r0, r0, #0x3f00
#else
add r0, r0, #0xe5
#endif
add r0, r0, #0x2600
#endif
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
bx lr
@ -5384,7 +5449,11 @@ GetExplorerMazeTeamName: ; 0x02059060
bne _020590A8
mov r0, r5
add r1, r4, #2
#ifdef JAPAN
mov r2, #5
#else
mov r2, #0xa
#endif
bl StrncpySimpleNoPadSafe
ldmia sp!, {r3, r4, r5, pc}
_020590A8:
@ -5394,7 +5463,11 @@ _020590A8:
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
_020590B8: .word TEAM_MEMBER_TABLE_PTR
#ifdef JAPAN
_020590BC: .word 0x000004C6
#else
_020590BC: .word 0x00000235
#endif
arm_func_end GetExplorerMazeTeamName
arm_func_start sub_020590C0
@ -7058,11 +7131,16 @@ _0205A7D0:
add r1, r6, #0x1c
mov r7, r0
bl sub_0200D670
#ifdef JAPAN
ldr r2, _0205B0D0 ; =0x00002330
#endif
add r5, sp, #0x6c
str r7, [sp, #0xa4]
add r0, sp, #0xbc
mov r1, #0xc8
#ifndef JAPAN
mov r2, #0x960
#endif
mov r3, #0
str r5, [sp]
bl PreprocessStringFromId
@ -7429,55 +7507,76 @@ _0205AC5C:
add r3, sp, #0xbc
mov r0, r4
mov r1, #4
#ifdef JAPAN
mov r2, #0x49
#else
mov r2, #0x58
#endif
bl DrawTextInWindow
ldrb r2, [r6, #0x44]
mov r0, r4
mov r1, #4
#ifdef JAPAN
add r2, r2, #0x33c
add r2, r2, #0x2000
#else
add r2, r2, #0x16c
add r2, r2, #0x800
#endif
mov r2, r2, lsl #0x10
mov r3, r2, lsr #0x10
#ifdef JAPAN
mov r2, #0x58
#else
mov r2, #0x67
#endif
bl sub_02026268
_0205AD98:
add sp, sp, #0x184
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
_0205ADA0: .word 0x00000951
_0205ADA4: .word 0x00000952
_0205ADA8: .word 0x00000953
_0205ADAC: .word 0x00000954
_0205ADB0: .word 0x00000955
_0205ADB4: .word 0x00000957
_0205ADB8: .word 0x0000095C
_0205ADBC: .word 0x0000095B
_0205ADC0: .word 0x00000956
_0205ADC4: .word 0x00000959
_0205ADC8: .word 0x0000095E
_0205ADCC: .word 0x0000095D
#ifdef JAPAN
#define SUB_0205A4B4_OFFSET 0x19D0
#else
#define SUB_0205A4B4_OFFSET 0
#endif
_0205ADA0: .word 0x00000951 + SUB_0205A4B4_OFFSET
_0205ADA4: .word 0x00000952 + SUB_0205A4B4_OFFSET
_0205ADA8: .word 0x00000953 + SUB_0205A4B4_OFFSET
_0205ADAC: .word 0x00000954 + SUB_0205A4B4_OFFSET
_0205ADB0: .word 0x00000955 + SUB_0205A4B4_OFFSET
_0205ADB4: .word 0x00000957 + SUB_0205A4B4_OFFSET
_0205ADB8: .word 0x0000095C + SUB_0205A4B4_OFFSET
_0205ADBC: .word 0x0000095B + SUB_0205A4B4_OFFSET
_0205ADC0: .word 0x00000956 + SUB_0205A4B4_OFFSET
_0205ADC4: .word 0x00000959 + SUB_0205A4B4_OFFSET
_0205ADC8: .word 0x0000095E + SUB_0205A4B4_OFFSET
_0205ADCC: .word 0x0000095D + SUB_0205A4B4_OFFSET
_0205ADD0: .word _020A34B8
_0205ADD4: .word 0x0000095F
#ifdef JAPAN
_0205B0D0: .word 0x00002330
#endif
_0205ADD4: .word 0x0000095F + SUB_0205A4B4_OFFSET
_0205ADD8: .word _020A34D2
_0205ADDC: .word 0x00000961
_0205ADE0: .word 0x00000962
_0205ADE4: .word 0x00000972
_0205ADE8: .word 0x00000973
_0205ADDC: .word 0x00000961 + SUB_0205A4B4_OFFSET
_0205ADE0: .word 0x00000962 + SUB_0205A4B4_OFFSET
_0205ADE4: .word 0x00000972 + SUB_0205A4B4_OFFSET
_0205ADE8: .word 0x00000973 + SUB_0205A4B4_OFFSET
_0205ADEC: .word STATUS_NAME_STRING_IDS
_0205ADF0: .word _020A34FC
_0205ADF4: .word 0x00000968
_0205ADF4: .word 0x00000968 + SUB_0205A4B4_OFFSET
_0205ADF8: .word _020A3514
_0205ADFC: .word _020A351C
_0205AE00: .word _020A3524
_0205AE04: .word 0x00000969
_0205AE08: .word 0x00000963
_0205AE0C: .word 0x00000964
_0205AE10: .word 0x00000965
_0205AE14: .word 0x00000967
_0205AE18: .word 0x0000096B
_0205AE1C: .word 0x00000966
_0205AE04: .word 0x00000969 + SUB_0205A4B4_OFFSET
_0205AE08: .word 0x00000963 + SUB_0205A4B4_OFFSET
_0205AE0C: .word 0x00000964 + SUB_0205A4B4_OFFSET
_0205AE10: .word 0x00000965 + SUB_0205A4B4_OFFSET
_0205AE14: .word 0x00000967 + SUB_0205A4B4_OFFSET
_0205AE18: .word 0x0000096B + SUB_0205A4B4_OFFSET
_0205AE1C: .word 0x00000966 + SUB_0205A4B4_OFFSET
_0205AE20: .word _020A34C4
_0205AE24: .word 0x0000096A
_0205AE24: .word 0x0000096A + SUB_0205A4B4_OFFSET
arm_func_end sub_0205A4B4
arm_func_start CreateMonsterSummaryFromTeamMember
@ -8110,8 +8209,10 @@ _0205B680:
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
_0205B688: .word _020A3678
#ifdef EUROPE
#if defined(EUROPE)
_0205B68C: .word 0x000038CB
#elif defined(JAPAN)
_0205B68C: .word 0x00003507
#else
_0205B68C: .word 0x000038C9
#endif
@ -12676,12 +12777,17 @@ _0205F260:
_0205F27C:
ldrb r0, [r5]
cmp r0, #8
#ifdef JAPAN
moveq r0, #1
streqb r0, [r6]
#else
bne _0205F29C
ldrsh r0, [r5, #0x14]
bl IsItemInTreasureBoxes
cmp r0, #0
movne r0, #1
strneb r0, [r6]
#endif
_0205F29C:
cmp r4, #0xff
ldrneb r0, [r5, #4]
@ -14604,7 +14710,11 @@ _02060BAC:
bl MemZero
ldr r1, [r5, #0xc]
add r0, sp, #4
#ifdef JAPAN
mov r2, #5
#else
mov r2, #0xa
#endif
bl StrncpySimpleNoPadSafe
_02060BC4:
add r0, sp, #4
@ -14693,7 +14803,9 @@ _02060CE4:
ldr r1, [r5, #0x54]
mov r0, r4
mov r2, #0x12
#ifndef JAPAN
mov r3, #0
#endif
bl sub_0202568C
mov r1, #0
strb r1, [r0]
@ -14764,27 +14876,23 @@ _02060DE4:
add sp, sp, #0x80
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
#if defined(EUROPE)
#define SUB_02060AFC_OFFSET 2
#elif defined(JAPAN)
#define SUB_02060AFC_OFFSET -0x3C2
#else
#define SUB_02060AFC_OFFSET 0
#endif
_02060DF4: .word _020A4654
_02060DF8: .word _020A4664
_02060DFC: .word REMOTE_STRING_PTR_TABLE
#ifdef EUROPE
_02060E00: .word 0x000038CB
_02060E04: .word 0x000038CD
_02060E08: .word 0x000038CE
_02060E0C: .word 0x000038CC
#else
_02060E00: .word 0x000038C9
_02060E04: .word 0x000038CB
_02060E08: .word 0x000038CC
_02060E0C: .word 0x000038CA
#endif
_02060E00: .word 0x000038C9 + SUB_02060AFC_OFFSET
_02060E04: .word 0x000038CB + SUB_02060AFC_OFFSET
_02060E08: .word 0x000038CC + SUB_02060AFC_OFFSET
_02060E0C: .word 0x000038CA + SUB_02060AFC_OFFSET
_02060E10: .word _020A4644
_02060E14: .word _020A4674
#ifdef EUROPE
_02060E18: .word 0x00003C2C
#else
_02060E18: .word 0x00003C2A
#endif
_02060E18: .word 0x00003C2A + SUB_02060AFC_OFFSET
_02060E1C: .word _020A4678
_02060E20: .word RANK_STRING_PTR_TABLE
arm_func_end sub_02060AFC
@ -14827,8 +14935,10 @@ _02060EA0: .word _020A4654
_02060EA4: .word _020A4664
_02060EA8: .word REMOTE_STRING_PTR_TABLE
_02060EAC: .word _020A4644
#ifdef EUROPE
#if defined(EUROPE)
_02060EB0: .word 0x00003C4F
#elif defined(JAPAN)
_02060EB0: .word 0x0000388B
#else
_02060EB0: .word 0x00003C4D
#endif
@ -14917,6 +15027,11 @@ _02060FD4: .word MISSION_STRING_IDS
arm_func_start sub_02060FD8
sub_02060FD8: ; 0x02060FD8
#ifdef JAPAN
#define SUB_02060FD8_ARG #0x3e
#else
#define SUB_02060FD8_ARG #0x42
#endif
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #0x14c
mov sb, r0
@ -14952,7 +15067,11 @@ _02061050:
bl MemZero
ldr r1, [sb, #0xc]
add r0, sp, #0x32
#ifdef JAPAN
mov r2, #5
#else
mov r2, #0xa
#endif
bl StrncpySimpleNoPadSafe
_02061068:
add r0, sp, #0x32
@ -14993,7 +15112,9 @@ _020610B8:
bl DrawTextInWindow
b _02061124
_020610E8:
#ifndef JAPAN
mov r3, r7
#endif
mov r2, #0x12
bl sub_0202568C
mov r2, r7
@ -15176,7 +15297,9 @@ _02061370:
ldr r1, [sb, #0x58]
mov r0, r5
mov r2, #0x12
#ifndef JAPAN
mov r3, #0
#endif
bl sub_0202568C
mov r1, #0
strb r1, [r0]
@ -15189,7 +15312,9 @@ _02061370:
mov r0, r5
add r1, r1, #0x24
mov r2, #0x12
#ifndef JAPAN
mov r3, #0
#endif
bl sub_0202568C
mov r1, #0
strb r1, [r0]
@ -15203,33 +15328,57 @@ _020613D4:
cmp r1, #0xf
beq _02061518
ldr r0, [sb, #0x64]
#ifdef JAPAN
mov r6, #0x3e
#endif
cmp r0, #0
beq _02061418
ldrb r0, [r0]
cmp r0, #7
cmpne r0, #5
bne _02061418
#ifdef JAPAN
mov sl, #0x2d
ldr r3, _02061BF0 ; =0x00003C21
mov r0, r8
mov r2, sl
#else
mov r6, #0x2d
ldr r3, _02061BF0 ; =0x00003C21
mov r0, r8
mov r2, r6
#endif
mov r1, #4
bl sub_02026268
b _0206144C
_02061418:
cmp r1, #0xe
#ifdef JAPAN
mov sl, #0x2d
#else
mov r6, #0x2d
#endif
mov r1, #4
bne _0206143C
ldr r3, _02061BF4 ; =0x00003C20
mov r0, r8
#ifdef JAPAN
mov r2, sl
bl sub_02026268
add r6, r6, #0x10
#else
mov r2, r6
bl sub_02026268
#endif
b _0206144C
_0206143C:
ldr r3, _02061BF8 ; =0x00003C1F
mov r0, r8
#ifdef JAPAN
mov r2, sl
#else
mov r2, r6
#endif
bl sub_02026268
_0206144C:
ldrb r0, [sb, #0x46]
@ -15249,7 +15398,11 @@ _0206147C:
bl MemZero
ldr r1, [sb, #0xc]
add r0, sp, #8
#ifdef JAPAN
mov r2, #5
#else
mov r2, #0xa
#endif
bl StrncpySimpleNoPadSafe
_02061494:
ldr r1, _02061BFC ; =_020A4688
@ -15257,9 +15410,15 @@ _02061494:
mov r0, r4
bl SprintfStatic__020609E8
mov r0, r8
#ifdef JAPAN
mov r1, r6
mov r2, sl
mov r3, r4
#else
mov r2, r6
mov r3, r4
mov r1, #0x42
#endif
bl DrawTextInWindow
b _02061518
_020614BC:
@ -15271,8 +15430,13 @@ _020614BC:
bne _020614EC
ldr r3, _02061C00 ; =0x00003C37
mov r0, r8
#ifdef JAPAN
mov r1, r6
mov r2, sl
#else
mov r2, r6
mov r1, #0x42
#endif
bl sub_02026268
b _02061518
_020614EC:
@ -15282,9 +15446,15 @@ _020614EC:
ldr r1, _02061C04 ; =_020A4698
mov r0, r4
bl SprintfStatic__020609E8
#ifdef JAPAN
mov r1, r6
mov r2, sl
mov r0, r8
#else
mov r2, r6
mov r0, r8
mov r1, #0x42
#endif
mov r3, r4
bl DrawTextInWindow
_02061518:
@ -15300,7 +15470,11 @@ _02061518:
add r0, r0, #0xfc
and r0, r0, #0xff
cmp r0, #2
#ifdef JAPAN
movls r1, #0x56
#else
movls r1, #0x43
#endif
movhi r1, #0x40
mov r0, r8
add r1, r1, #0x6c
@ -15326,7 +15500,7 @@ _02061518:
bl sub_02061DC8
mov r0, r8
mov r3, r4
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r2, #0x3a
bl DrawTextInWindow
add r7, r7, #0x47
@ -15340,7 +15514,7 @@ _02061518:
mov r2, #0x100
bl sub_02061FDC
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r2, r7
mov r3, r4
bl DrawTextInWindow
@ -15398,7 +15572,7 @@ _020616B4:
mov r0, r8
mov r2, r7
mov r3, r4
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
bl DrawTextInWindow
_020616C8:
ldr r1, [sb, #0x5c]
@ -15416,7 +15590,7 @@ _020616C8:
ldr r3, _02061C2C ; =0x00003C2A
mov r0, r8
mov r2, r7
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
bl sub_02026268
b _020617D4
_02061710:
@ -15454,7 +15628,7 @@ _02061764:
mov r0, r8
ldr r3, [r1, sl, lsl #2]
mov r2, r7
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
bl DrawTextInWindow
add r0, sp, #0xfc
bl InitPreprocessorArgs
@ -15467,7 +15641,11 @@ _02061764:
mov r3, #0
bl PreprocessStringFromId
mov r0, r8
#ifdef JAPAN
mov r1, #0x52
#else
mov r1, #0x56
#endif
mov r2, r7
mov r3, r4
bl DrawTextInWindow
@ -15523,7 +15701,7 @@ _02061850:
bl PreprocessString
mov r2, r6
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r3, r4
bl DrawTextInWindow
b _02061BA4
@ -15544,7 +15722,7 @@ _020618A0:
bl PreprocessString
mov r2, r6
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r3, r4
bl DrawTextInWindow
b _02061BA4
@ -15565,7 +15743,7 @@ _020618F0:
bl PreprocessString
mov r2, r6
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r3, r4
bl DrawTextInWindow
b _02061BA4
@ -15586,7 +15764,7 @@ _02061940:
bl PreprocessString
mov r2, r6
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r3, r4
bl DrawTextInWindow
b _02061BA4
@ -15607,7 +15785,7 @@ _02061990:
bl PreprocessString
mov r2, r6
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r3, r4
bl DrawTextInWindow
b _02061BA4
@ -15640,7 +15818,7 @@ _02061A0C:
bl PreprocessString
mov r2, r6
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
mov r3, r4
bl DrawTextInWindow
b _02061BA4
@ -15653,7 +15831,7 @@ _02061A5C:
mov r0, r8
mov r2, r6
mov r3, r5
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
bl DrawTextInWindow
b _02061BA4
_02061A88:
@ -15663,7 +15841,7 @@ _02061A88:
mov r0, r8
mov r2, r6
mov r3, r5
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
bl DrawTextInWindow
b _02061BA4
_02061AAC:
@ -15701,7 +15879,7 @@ _02061AAC:
mov r3, #4
bl PreprocessString
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
add r2, r7, #0xd
mov r3, r4
bl DrawTextInWindow
@ -15726,7 +15904,7 @@ _02061B48:
mov r3, #4
bl PreprocessString
mov r0, r8
mov r1, #0x42
mov r1, SUB_02060FD8_ARG
add r2, r7, #0xd
mov r3, r4
bl DrawTextInWindow
@ -15743,8 +15921,10 @@ _02061BA4:
add sp, sp, #0x14c
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
#ifdef EUROPE
#if defined(EUROPE)
#define SUB_02060FD8_OFFSET 2
#elif defined(JAPAN)
#define SUB_02060FD8_OFFSET -0x3C2
#else
#define SUB_02060FD8_OFFSET 0
#endif
@ -15812,15 +15992,16 @@ sub_02061C60: ; 0x02061C60
bl sub_02061CC8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
#ifdef EUROPE
_02061CBC: .word 0x00003C20
_02061CC0: .word _020A46A8
_02061CC4: .word 0x00003C50
#if defined(EUROPE)
#define SUB_02061C60_OFFSET 2
#elif defined(JAPAN)
#define SUB_02061C60_OFFSET -0x3C2
#else
_02061CBC: .word 0x00003C1E
_02061CC0: .word _020A46A8
_02061CC4: .word 0x00003C4E
#define SUB_02061C60_OFFSET 0
#endif
_02061CBC: .word 0x00003C1E + SUB_02061C60_OFFSET
_02061CC0: .word _020A46A8
_02061CC4: .word 0x00003C4E + SUB_02061C60_OFFSET
arm_func_end sub_02061C60
arm_func_start sub_02061CC8
@ -15893,8 +16074,10 @@ _02061DB8:
add sp, sp, #0x28
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
#ifdef EUROPE
#if defined(EUROPE)
_02061DC4: .word 0x00003C33
#elif defined(JAPAN)
_02061DC4: .word 0x0000386F
#else
_02061DC4: .word 0x00003C31
#endif
@ -15966,7 +16149,7 @@ _02061E74:
b _02061EE8
_02061E80:
str r6, [sp, #4]
#ifdef EUROPE
#if defined(EUROPE) || defined(JAPAN)
ldr r2, _02062298 ; =0x00003C42
#else
mov r2, #0x3c40
@ -15978,7 +16161,11 @@ _02061E8C:
b _02061EE8
_02061E98:
str r6, [sp, #4]
#ifdef JAPAN
mov r2, #0x3880
#else
ldr r2, _02061F24 ; =0x00003C42
#endif
b _02061EE8
_02061EA4:
ldr r2, _02061F28 ; =0x00003C43
@ -16022,11 +16209,15 @@ _02061F14: .word 0x00003C3B + SUB_02061DC8_WORD_OFFSET
_02061F18: .word 0x00003C3E
#endif
_02061F1C: .word 0x00003C3F + SUB_02061DC8_WORD_OFFSET
#ifdef EUROPE
#if defined(EUROPE)
_02062298: .word 0x00003C42
#elif defined(JAPAN)
_02062298: .word 0x0000387E
#endif
_02061F20: .word 0x00003C3D + SUB_02061DC8_WORD_OFFSET
#ifndef JAPAN
_02061F24: .word 0x00003C42 + SUB_02061DC8_WORD_OFFSET
#endif
_02061F28: .word 0x00003C43 + SUB_02061DC8_WORD_OFFSET
_02061F2C: .word 0x00003C3C + SUB_02061DC8_WORD_OFFSET
_02061F30: .word 0x00003C41 + SUB_02061DC8_WORD_OFFSET
@ -16228,17 +16419,17 @@ _020621F4:
add sp, sp, #0x54
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
#ifdef EUROPE
_020621FC: .word 0x00003C37
_02062200: .word 0x00003C36
_02062204: .word 0x00003C38
_02062208: .word 0x00003C34
#if defined(EUROPE)
#define SUB_02061FDC_OFFSET 2
#elif defined(JAPAN)
#define SUB_02061FDC_OFFSET -0x3C2
#else
_020621FC: .word 0x00003C35
_02062200: .word 0x00003C34
_02062204: .word 0x00003C36
_02062208: .word 0x00003C32
#define SUB_02061FDC_OFFSET 0
#endif
_020621FC: .word 0x00003C35 + SUB_02061FDC_OFFSET
_02062200: .word 0x00003C34 + SUB_02061FDC_OFFSET
_02062204: .word 0x00003C36 + SUB_02061FDC_OFFSET
_02062208: .word 0x00003C32 + SUB_02061FDC_OFFSET
arm_func_end sub_02061FDC
arm_func_start sub_0206220C
@ -22688,8 +22879,10 @@ _020674AC: .word sub_02069750
_020674B0: .word _020A937C
_020674B4: .word _020B0B39
_020674B8: .word JOB_MENU_ITEMS_11
#ifdef EUROPE
#if defined(EUROPE)
_020674BC: .word 0x0000387A
#elif defined(JAPAN)
_020674BC: .word 0x000034B6
#else
_020674BC: .word 0x00003878
#endif
@ -22883,8 +23076,10 @@ _02067704: .word _020B0B2C
arm_func_start sub_02067708
sub_02067708: ; 0x02067708
#ifdef EUROPE
#if defined(EUROPE)
#define SUB_02067708_WORD_OFFSET 2
#elif defined(JAPAN)
#define SUB_02067708_WORD_OFFSET -0x3C2
#else
#define SUB_02067708_WORD_OFFSET 0
#endif
@ -23171,7 +23366,7 @@ _02067AF8:
ldr r5, _02067C68 ; =JOB_MENU_ITEMS_6
str r1, [r4, #0xe48]
str r0, [r4, #0xef4]
#ifdef EUROPE
#if defined(EUROPE) || defined(JAPAN)
ldr r6, _02067FF0 ; =0x0000380F
#else
rsb r6, r8, #0x3a40
@ -23222,7 +23417,7 @@ _02067BA0:
ldr r1, [r1, r2, lsl #3]
ldr r5, _02067C88 ; =JOB_MENU_ITEMS_8
str r1, [r4, #0xe48]
#ifdef EUROPE
#if defined(EUROPE) || defined(JAPAN)
ldr r6, _02068014 ; =0x000037B5
#else
add r6, r8, #0x3580
@ -23273,8 +23468,10 @@ _02067C5C: .word _020A9278
_02067C60: .word _020A9304
_02067C64: .word _020B0B38
_02067C68: .word JOB_MENU_ITEMS_6
#ifdef EUROPE
#if defined(EUROPE)
_02067FF0: .word 0x0000380F
#elif defined(JAPAN)
_02067FF0: .word 0x0000344B
#endif
_02067C6C: .word JOB_MENU_ITEMS_9
_02067C70: .word 0x000038BF + SUB_02067708_WORD_OFFSET
@ -23286,13 +23483,17 @@ _02067C84: .word _020B0B33
_02067C88: .word JOB_MENU_ITEMS_8
#ifdef EUROPE
_02068014: .word 0x000037B5
#elif defined(JAPAN)
_02068014: .word 0x00003435
#endif
arm_func_end sub_02067708
arm_func_start sub_02067C8C
sub_02067C8C: ; 0x02067C8C
#ifdef EUROPE
#if defined(EUROPE)
#define SUB_02067C8C_WORD_OFFSET 2
#elif defined(JAPAN)
#define SUB_02067C8C_WORD_OFFSET -0x3C2
#else
#define SUB_02067C8C_WORD_OFFSET 0
#endif
@ -23444,7 +23645,7 @@ _02067E70:
add r0, r0, #0x2e4
add r0, r0, #0xc00
bl sub_02047150
#ifdef EUROPE
#if defined(EUROPE) || defined(JAPAN)
ldr r1, _02068678 ; =0x00003826
mov r0, #0x1c
#else
@ -23680,8 +23881,13 @@ _020681BC:
add r0, r0, #0x2e4
add r0, r0, #0xc00
bl sub_02047150
#ifdef JAPAN
mov r0, #0x1c
rsb r1, r0, #0x3480
#else
ldr r1, _020682FC ; =0x00003826
mov r0, #0x1c
#endif
mov r2, #0
bl sub_02046BE8
ldr r0, _020682E0 ; =_020B0B2C
@ -23756,8 +23962,10 @@ _020682D8:
_020682E0: .word _020B0B2C
_020682E4: .word 0x0000381F + SUB_02067C8C_WORD_OFFSET
_020682E8: .word 0x00003820 + SUB_02067C8C_WORD_OFFSET
#ifdef EUROPE
#if defined(EUROPE)
_02068678: .word 0x00003826
#elif defined(JAPAN)
_02068678: .word 0x00003462
#endif
_020682EC: .word 0x00003825 + SUB_02067C8C_WORD_OFFSET
_020682F0: .word 0x00003821 + SUB_02067C8C_WORD_OFFSET
@ -23765,7 +23973,9 @@ _020682F0: .word 0x00003821 + SUB_02067C8C_WORD_OFFSET
_020682F4: .word 0x00003822
#endif
_020682F8: .word 0x00003823 + SUB_02067C8C_WORD_OFFSET
#ifndef JAPAN
_020682FC: .word 0x00003826 + SUB_02067C8C_WORD_OFFSET
#endif
_02068300: .word 0x00003827 + SUB_02067C8C_WORD_OFFSET
_02068304: .word 0x00003828 + SUB_02067C8C_WORD_OFFSET
arm_func_end sub_02067C8C
@ -24067,8 +24277,10 @@ _020686F0: .word _020B0A54
arm_func_start sub_020686F4
sub_020686F4: ; 0x020686F4
#ifdef EUROPE
#if defined(EUROPE)
#define SUB_020686F4_WORD_OFFSET 2
#elif defined(JAPAN)
#define SUB_020686F4_WORD_OFFSET -0x3C2
#else
#define SUB_020686F4_WORD_OFFSET 0
#endif
@ -25295,8 +25507,10 @@ sub_020696E8: ; 0x020696E8
add sp, sp, #0x154
ldmia sp!, {r3, r4, pc}
.align 2, 0
#ifdef EUROPE
#if defined(EUROPE)
_0206974C: .word 0x00003815
#elif defined(JAPAN)
_0206974C: .word 0x00003451
#else
_0206974C: .word 0x00003813
#endif
@ -25320,8 +25534,10 @@ sub_02069750: ; 0x02069750
add sp, sp, #0x100
ldmia sp!, {r4, pc}
.align 2, 0
#ifdef EUROPE
#if defined(EUROPE)
_0206978C: .word 0x00003816
#elif defined(JAPAN)
_0206978C: .word 0x00003452
#else
_0206978C: .word 0x00003814
#endif
@ -26322,7 +26538,11 @@ _0206A4F8:
bl ov03_0233CDC8
b _0206A544
_0206A53C:
#ifdef JAPAN
ldr r1, _0206A90C ; =0x000004CD
#else
mov r1, #0x23c
#endif
bl ov03_0233CDC8
_0206A544:
ldr r0, _0206A5E0 ; =_020B0B48
@ -26371,8 +26591,10 @@ _0206A5D8:
add sp, sp, #0x20c
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
#ifdef EUROPE
#if defined(EUROPE)
#define SUB_02069DC0_OFFSET 2
#elif defined(JAPAN)
#define SUB_02069DC0_OFFSET -0x3C2
#else
#define SUB_02069DC0_OFFSET 0
#endif
@ -26391,6 +26613,9 @@ _0206A60C: .word 0x0000023B
_0206A610: .word 0x00004002
_0206A614: .word 0x00004001
_0206A618: .word 0x0000379E + SUB_02069DC0_OFFSET
#ifdef JAPAN
_0206A90C: .word 0x000004CD
#endif
_0206A61C: .word 0x00004003
_0206A620: .word 0x00000239
_0206A624: .word 0x000037A0 + SUB_02069DC0_OFFSET
@ -26642,10 +26867,17 @@ sub_0206A90C: ; 0x0206A90C
bl sub_0206A7CC
mvn r1, #0
cmp r0, r1
#ifdef JAPAN
moveq r0, #0x47
ldmeqia sp!, {r3, pc}
cmp r0, #0
moveq r0, #0x40
#else
ldreq r0, _0206A964 ; =0x0000403A
ldmeqia sp!, {r3, pc}
cmp r0, #0
ldreq r0, _0206A968 ; =0x00004033
#endif
ldmeqia sp!, {r3, pc}
cmp r0, #1
blt _0206A950
@ -26656,14 +26888,20 @@ sub_0206A90C: ; 0x0206A90C
bl sub_02024934
ldmia sp!, {r3, pc}
_0206A950:
#ifdef JAPAN
sub r0, r0, #0x74
#else
add r0, r0, #0x7f + SUB_0206A90C_WORD_OFFSET
add r0, r0, #0x3f00
#endif
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
ldmia sp!, {r3, pc}
.align 2, 0
#ifndef JAPAN
_0206A964: .word 0x0000403A + SUB_0206A90C_WORD_OFFSET
_0206A968: .word 0x00004033 + SUB_0206A90C_WORD_OFFSET
#endif
arm_func_end sub_0206A90C
arm_func_start sub_0206A96C

View File

@ -7,7 +7,7 @@
struct dse_lfo;
typedef s32 (*SoundLfoWaveformCallback)(struct dse_lfo *lfo);
typedef s32 (*sound_lfo_waveform_callback)(struct dse_lfo *lfo);
struct dse_lfo
{
@ -31,7 +31,7 @@ struct dse_lfo
s32 envelope_level;
s32 envelope_delta;
s16 *output_ptr;
SoundLfoWaveformCallback waveform_callback;
sound_lfo_waveform_callback waveform_callback;
//+0x30
struct dse_lfo *next;

View File

@ -0,0 +1,278 @@
.include "asm/macros.inc"
.text
.global _secure
_secure: ; 0x02000000
.byte 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xFF, 0xE7, 0xFF, 0xDE, 0xB5, 0x87
.byte 0x4F, 0x8D, 0x6B, 0x7E, 0xAD, 0xA2, 0x37, 0xEB, 0x89, 0x54, 0x8E, 0xED, 0x24, 0x54, 0x6D, 0xC6
.byte 0xEE, 0x3D, 0x48, 0x2B, 0x50, 0xB1, 0x22, 0x0B, 0xE6, 0x6C
.global _0200002B
_0200002B:
.byte 0x4E, 0x30, 0xFE, 0xED, 0x78, 0xDE
.byte 0xB0, 0x21, 0x76, 0xA7, 0xD3, 0x2F, 0x11, 0x86, 0xAA, 0x94, 0xE5, 0xD7, 0x5B, 0x31, 0x2C, 0xE5
.byte 0x25, 0x69, 0xFC, 0xBC, 0x26, 0x56, 0x7C, 0xB0, 0x28, 0x46, 0xA6, 0x38, 0xE9, 0x37, 0x25, 0x24
.byte 0x79, 0x7D, 0x09, 0x90, 0x00, 0x98, 0x1C, 0x6A, 0x7F, 0x9C, 0x67, 0x97, 0x74, 0x7D, 0xA5, 0xA1
.byte 0x64, 0x01, 0x3E, 0x8E, 0x56, 0xEE, 0x44, 0xFF, 0xDB, 0x4E, 0xE8, 0xBA, 0x55, 0x2F, 0xCF, 0xAA
.byte 0xA1, 0xBF, 0xD1, 0xD6, 0xD8, 0x04, 0xB7, 0x66
thumb_func_start sub_02000078
sub_02000078: ; 0x02000078
swi 0xc
bx lr
thumb_func_end sub_02000078
_0200007C:
.byte 0x62, 0x11, 0xCA, 0x31
.byte 0xFC, 0x2F, 0xB3, 0x14, 0x10, 0xCE, 0xDD, 0x8A, 0x27, 0x95, 0xA7, 0x20, 0xDB, 0x33, 0xCA, 0x4F
.byte 0x44, 0x16, 0xC5, 0x5D, 0xF8, 0xE9, 0xAE, 0xCE, 0x33, 0xB3, 0x77, 0xB8, 0x73, 0xA9, 0x3B, 0x45
.byte 0x90, 0x28, 0xC5, 0x9A, 0xA0, 0xE8, 0xE0, 0xE0, 0xFF, 0x31, 0xCF, 0x0A, 0x76, 0xA6, 0x25, 0x94
.byte 0x74, 0x61, 0xA0, 0x37, 0x24, 0x78, 0xC1, 0x91, 0x0A, 0x96, 0x09, 0xE5, 0xCA, 0x86, 0x95, 0xEA
.byte 0x30, 0x9C, 0x92, 0x90, 0x4C, 0xBD, 0xB9, 0x6A, 0xCD, 0x1B, 0x6F, 0x07, 0x5B, 0x35, 0x27, 0x47
.byte 0x31, 0xB9, 0x5E, 0x56, 0xED, 0x8B, 0x46, 0x1A, 0xB9, 0x18, 0x15, 0xDC, 0x26, 0x3E, 0x8A, 0xE0
.byte 0x76, 0x41, 0xBC, 0xE6, 0x09, 0xCE
non_word_aligned_thumb_func_start sub_020000E6
sub_020000E6: ; 0x020000E6
swi 0x11
bx lr
thumb_func_end sub_020000E6
_020000EA:
.byte 0x7A, 0xA8, 0xD7, 0x12, 0x42, 0x79
.byte 0xB5, 0x5A, 0x7B, 0x06, 0x15, 0x3A, 0x06, 0x2E, 0x33, 0xAF, 0x6B, 0xD0, 0x11, 0x24, 0x14, 0x34
.byte 0xCE, 0x44, 0x20, 0xD9, 0xF3, 0x4D, 0x4B, 0xAA, 0xD7, 0xFC, 0xB0, 0x3B, 0xC3, 0x5C, 0xE2, 0x15
.byte 0x95, 0xA3, 0xFB, 0x99, 0xC8, 0x2D, 0x49, 0x7E, 0x57, 0x30, 0x09, 0x46, 0x1A, 0xB4, 0xF2, 0x8C
.byte 0x42, 0x4F, 0xE6, 0x58, 0x30, 0x21, 0xB3, 0xC7, 0x18, 0x60, 0x87, 0xD3, 0xC5, 0xFE, 0xCB, 0x6D
.byte 0x8B, 0x74, 0x4F, 0xBB, 0xF1, 0x61, 0x08, 0x4D, 0x48, 0x12, 0x32, 0x32, 0x04, 0x74, 0x26, 0xEC
.byte 0xB7, 0x15, 0x90, 0x0B, 0xA1, 0x3D, 0x2F, 0xB7, 0x6F, 0x86, 0xF6, 0x7B, 0xE5, 0xA2, 0x5A, 0xA3
.byte 0x4D, 0x36, 0xBB, 0x3E
thumb_func_start SVC_SoftReset
SVC_SoftReset: ; 0x02000154
swi 0
bx lr
thumb_func_end SVC_SoftReset
_02000158:
.byte 0x9A, 0x50, 0x5B, 0x45, 0x04, 0xBE, 0x1A, 0xCA
.byte 0x35, 0x3A, 0x00, 0x2B, 0x12, 0x17, 0x7D, 0x9C, 0x0E, 0xBA, 0x47, 0x24, 0x97, 0xA1, 0x1E, 0x42
.byte 0x36, 0xCC, 0xC9, 0xE6, 0x9F, 0xD4, 0xE4, 0xC9, 0xB9, 0xFA, 0xDD, 0x4A, 0x81, 0x08, 0xA6, 0xF5
.byte 0xEB, 0x66, 0x8C, 0xDA, 0x47, 0xB1, 0x50, 0x9D, 0x55, 0xC0, 0xA0, 0x17, 0xE1, 0x4D, 0x77, 0xCC
.byte 0x31, 0x86, 0x19, 0xC4, 0xA4, 0xE4, 0x56, 0x9E, 0x3F, 0xB0, 0x07, 0xB5, 0xE3, 0x2B, 0x3F, 0x1E
.byte 0x65, 0xA5, 0x6E, 0xEE, 0x03, 0x9B, 0x77, 0x19, 0x26, 0x8D, 0x0A, 0xB5, 0x8F, 0xBC, 0x16, 0xBC
.byte 0xCF, 0x11, 0xC2, 0x4B, 0xF7, 0x39, 0xCF, 0x8A, 0xF8, 0xC8, 0xBD, 0x9D, 0x00, 0x22
non_word_aligned_thumb_func_start sub_020001BE
sub_020001BE: ; 0x020001BE
swi 4
bx lr
thumb_func_end sub_020001BE
_020001C2:
.byte 0xEE, 0x08, 0xC1, 0x4F, 0xB2, 0xCE, 0xF8, 0xB3, 0xC5, 0xD2, 0x67, 0xE9, 0x01, 0x18
.byte 0x12, 0x57, 0xED, 0x82, 0x4F, 0xD1, 0x08, 0x4B, 0x0D, 0x41, 0xCA, 0x12, 0xB8, 0x4A, 0x5E, 0xFD
.byte 0xD2, 0xF7, 0x9F, 0x65, 0xDC, 0xD1, 0xDC, 0x08, 0x35, 0x49, 0x75, 0xDE, 0x26, 0xD8, 0xEC, 0x8D
.byte 0x65, 0x70, 0x7F, 0xB8, 0xA7, 0x82, 0x66, 0xD7, 0xF3, 0x25, 0x0C, 0xF8, 0xCB, 0x13, 0x12, 0x64
.byte 0xB5, 0x7B, 0xD2, 0x86, 0x01, 0xC1, 0x8A, 0x9D, 0x30, 0x69, 0x04, 0xAD, 0x3E, 0x42, 0x20, 0xCA
.byte 0x78, 0x0D, 0xAE, 0xCD, 0xF2, 0x54, 0x54, 0xCF, 0xFF, 0x08, 0x9F, 0x09, 0xEC, 0xA3, 0x7D, 0x9B
.byte 0x17, 0xB3, 0xC2, 0x2D, 0xB7, 0xC6
non_word_aligned_thumb_func_start SVC_CpuSet
SVC_CpuSet: ; 0x02000226
swi 0xb
bx lr
thumb_func_end SVC_CpuSet
_0200022A:
.byte 0xFB, 0x7A, 0xBA, 0xF0, 0xDC, 0x32
.byte 0x48, 0x85, 0x63, 0x65, 0xBA, 0x5D, 0xBB, 0xD2, 0x24, 0x10, 0xDF, 0xBF, 0x72, 0xD7, 0xA2, 0xB5
.byte 0xAA, 0x99, 0xE8, 0xB9, 0xAA, 0x7D, 0x89, 0x1F, 0x88, 0xBE, 0xE2, 0xCA, 0xC5, 0x87, 0xD0, 0xED
.byte 0x20, 0x4F, 0x1C, 0x57, 0xCF, 0xE7, 0xEF, 0xDC, 0xFB, 0xDC, 0x6A, 0xDF, 0x07, 0x22, 0x31, 0xFA
.byte 0x45, 0xD9, 0x20, 0xD5, 0xD3, 0x85, 0x5A, 0xD3, 0x1E, 0xA1, 0x97, 0x61, 0xC6, 0xAD, 0x49, 0xE2
.byte 0x71, 0xD8, 0x91, 0xEB, 0x6D, 0x19, 0xF4, 0x14, 0x7C, 0x3A, 0x96, 0x0D, 0x7B, 0xA8, 0xC9, 0xC4
.byte 0x95, 0xE1, 0x4A, 0x56, 0x60, 0x5B, 0x83, 0x50, 0xBC, 0xCB, 0x64, 0x7D, 0x94, 0x11, 0x0D, 0x86
.byte 0x09, 0xDF
non_word_aligned_thumb_func_start sub_02000292
sub_02000292: ; 0x02000292
add r0, r1, #0
bx lr
thumb_func_end sub_02000292
_02000296:
.byte 0x49, 0x8B, 0xBB, 0x05, 0x18, 0xA4, 0xB2, 0x54, 0x0B, 0x37
.byte 0xF7, 0x4B, 0x10, 0x75, 0x8D, 0xD4, 0x05, 0x32, 0x55, 0x73, 0x3E, 0x5A, 0xAB, 0xF4, 0x1C, 0x1D
.byte 0x2A, 0x1A, 0xF8, 0x8B, 0x54, 0x15, 0x75, 0x61, 0xC6, 0x76, 0x8D, 0xC5, 0x22, 0x58, 0xF4, 0x3C
.byte 0xD3, 0x2B, 0x23, 0xF7, 0xEF, 0x94, 0xD3, 0x61, 0x70, 0xA8, 0x58, 0xA3, 0x8D, 0x3F, 0x3E, 0xDF
.byte 0x97, 0x02, 0xE0, 0x69, 0xC0, 0x51, 0x54, 0xFF, 0xE8, 0x1D, 0x81, 0x97, 0x92, 0x05, 0xA6, 0xB7
.byte 0xAE, 0xA4, 0x81, 0xA0, 0x60, 0xA7, 0xA5, 0xFF, 0x9E, 0xD9, 0x7D, 0x27, 0x88, 0x1F, 0xB5, 0x52
.byte 0x19, 0x18, 0xD5, 0x74, 0x2A, 0x85, 0x76, 0xEE, 0x4A, 0xF8, 0xD6, 0x51, 0x0E, 0x14, 0xDB, 0xD8
.byte 0xF6, 0x3F, 0x4C, 0xFE, 0xD7, 0xAA, 0x3F, 0x1E, 0xAC, 0xAC, 0xC0, 0x98
thumb_func_start sub_0200030C
sub_0200030C: ; 0x0200030C
swi 0x14
bx lr
thumb_func_end sub_0200030C
_02000310:
.byte 0xD6, 0x4B, 0x9C, 0x7C, 0x54, 0x0F, 0xE4, 0xC2, 0x67, 0xCC, 0x4F, 0x99, 0xE1, 0x18, 0x00, 0x7D
.byte 0xAE, 0x29, 0x19, 0xDC, 0x8E, 0x19, 0xF7, 0x4A, 0x2C, 0xA7, 0xA4, 0xB2, 0xD9, 0xA8, 0xC1, 0xE9
.byte 0xDB, 0x94, 0x9C, 0x71, 0x15, 0xD3, 0x0F, 0x08, 0x13, 0xBE, 0x76, 0x3B, 0xAD, 0xFB, 0x83, 0x54
.byte 0x91, 0x30, 0x8B, 0x4C, 0x1C, 0x03, 0x94, 0x78, 0x4A, 0xD0, 0x8E, 0xE3, 0xAD, 0x25, 0x18, 0x6A
.byte 0xD5, 0xB5, 0x5D, 0x19, 0x75, 0xC7, 0x25, 0x21, 0x42, 0x81, 0xF7, 0xD1, 0x0E, 0x85, 0x68, 0x17
.byte 0x1D, 0x16, 0xAC, 0x1D, 0xCB, 0x87, 0xA1, 0x67, 0x06, 0xF9, 0xFB, 0x79, 0x34, 0x2F, 0xE3, 0xB6
.byte 0x76, 0x9A, 0x36, 0xDB, 0x3C, 0xBE, 0xD2, 0x76
thumb_func_start sub_02000378
sub_02000378: ; 0x02000378
swi 0x10
bx lr
thumb_func_end sub_02000378
_0200037C:
.byte 0x4E, 0x1C, 0xEA, 0xFF
.byte 0xD4, 0xA8, 0x68, 0x8E, 0x6C, 0xE7, 0x8E, 0x88, 0xC7, 0x1B, 0x6A, 0x83, 0x79, 0xBE, 0x0E, 0x39
.byte 0xB1, 0xE4, 0xEE, 0xC9, 0xBA, 0x8A, 0x65, 0x1B, 0x14, 0x01, 0x4A, 0x3F, 0x8A, 0x15, 0xCD, 0x0F
.byte 0x99, 0xBC, 0xD3, 0x1A, 0x80, 0xFA, 0xDB, 0x81, 0x61, 0x47, 0xEE, 0x90, 0x3E, 0x5D, 0x70, 0xF7
.byte 0xCC, 0x7A, 0x63, 0xE3, 0xBE, 0xC3, 0x8B, 0x53, 0x24, 0x50, 0xE5, 0xBF, 0xA9, 0x0D, 0x06, 0xD5
.byte 0xF8, 0xA5, 0x98, 0x6D, 0x30, 0x8F, 0x49, 0x27, 0xFD, 0xCF, 0xE3, 0xE7, 0xED, 0x70, 0x9E, 0x18
.byte 0xA7, 0x77, 0xC4, 0x3C, 0xBB, 0x6A, 0xBE, 0x8D, 0x2D, 0x96, 0x42, 0xD9, 0x1A, 0x79, 0x51, 0x43
.byte 0x8A, 0x15, 0x4E, 0x9B, 0xE3, 0x2C, 0xC9, 0xD0, 0xA3, 0x80, 0xCF, 0xB7, 0x02, 0x4F, 0x02, 0x06
.byte 0xCA, 0xEC, 0x21, 0x1C, 0xD0, 0x0C
non_word_aligned_thumb_func_start sub_020003F6
sub_020003F6: ; 0x020003F6
swi 0x13
bx lr
thumb_func_end sub_020003F6
_020003FA:
.byte 0x1D, 0xBC, 0xBB, 0x22, 0x52, 0xD3
.byte 0x5D, 0xEB, 0xD0, 0x34, 0x62, 0x2A, 0xC6, 0x51, 0xEA, 0x34, 0xB6, 0x7D, 0xC5, 0x80, 0x44, 0x1B
.byte 0xCB, 0xE7, 0xE8, 0x5F, 0x18, 0xF2, 0xE5, 0x1A, 0xB2, 0x26, 0x8C, 0x75, 0x07, 0x31, 0x35, 0x13
.byte 0xAB, 0x3B, 0x41, 0xE0, 0x8B, 0x55, 0x7D, 0x99, 0xB1, 0xC7, 0x1C, 0x3E, 0x4D, 0x3B, 0x28, 0x6A
.byte 0x46, 0xBF, 0x4B, 0x68, 0x6E, 0x31, 0x95, 0x1D, 0xF3, 0x78, 0xD8, 0x01, 0x45, 0xEC, 0x8B, 0xE0
.byte 0xD1, 0xE0, 0x92, 0x18, 0x42, 0x4D, 0x8D, 0x0A, 0x47, 0xAA, 0xDD, 0x6F, 0xE4, 0xD8, 0x57, 0xCC
.byte 0x26, 0x26, 0xC4, 0xFA, 0x47, 0x8B, 0xB0, 0xFB, 0x38, 0x17, 0x46, 0xE3, 0xF0, 0xF3, 0x17, 0xD3
.byte 0x8B, 0x95
non_word_aligned_thumb_func_start sub_02000462
sub_02000462: ; 0x02000462
swi 9
bx lr
thumb_func_end sub_02000462
_02000466:
.byte 0x1B, 0x07, 0xA5, 0xF1, 0x01, 0xBC, 0x28, 0xD1, 0xEB, 0xF9
.byte 0x08, 0x77, 0xD3, 0x01, 0x1E, 0x50, 0xE9, 0xD4, 0xE9, 0xD3, 0x27, 0xE0, 0x41, 0xEE, 0x34, 0x00
.byte 0xA7, 0x8C, 0xC7, 0xEC, 0xDF, 0xD9, 0xCE, 0xC4, 0x47, 0xF9, 0x81, 0xD8, 0x77, 0x09, 0x39, 0xC3
.byte 0x80, 0x20, 0x64, 0x09, 0xCB, 0x5F, 0x7A, 0xB4, 0x7B, 0x79, 0x68, 0x32, 0xE7, 0x53, 0x71, 0xD7
.byte 0x97, 0x03, 0x68, 0xBD, 0x9D, 0x6A, 0x7B, 0x52, 0xDC, 0x19, 0xFA, 0x5D, 0x63, 0x61, 0x09, 0x10
.byte 0x19, 0x1A, 0x11, 0xFE, 0xAD, 0xA5, 0x27, 0xD5, 0xD7, 0x58, 0xCD, 0x29, 0xBC, 0x4F, 0xE9, 0xA2
.byte 0x55, 0x1E, 0x1A, 0x2F, 0xD4, 0x18, 0x3F, 0xDA, 0xDE, 0x54
non_word_aligned_thumb_func_start sub_020004CA
sub_020004CA: ; 0x020004CA
swi 0xe
bx lr
thumb_func_end sub_020004CA
_020004CE:
.byte 0x7B, 0xD4
.byte 0xE7, 0x2B, 0x21, 0x15, 0x1A, 0x4D, 0x4E, 0x63, 0x1D, 0x82, 0x05, 0x56, 0x15, 0x76, 0xDB, 0xB4
.byte 0x38, 0xF8, 0xB6, 0x7A, 0xCC, 0x05, 0x43, 0xE5, 0x28, 0x55, 0x8B, 0xFC, 0xDF, 0xA5, 0xB9, 0x68
.byte 0xAB, 0xB0, 0x48, 0x8C, 0x29, 0x5A, 0x5F, 0xD5, 0xE7, 0xC7, 0x4C, 0x0C, 0x8E, 0xB7, 0xC4, 0xF3
.byte 0x30, 0xB7, 0x0C, 0x25, 0xE4, 0x12, 0x6D, 0xE5, 0xB4, 0x2E, 0xEF, 0x9B, 0x09, 0xAB, 0x38, 0x12
.byte 0x33, 0x64, 0xEC, 0x48, 0x3F, 0xBF, 0x48, 0x9E, 0x5A, 0xA2, 0xEF, 0x79, 0x27, 0xA1, 0x54, 0xA8
.byte 0x75, 0x66, 0x7F, 0x26, 0xE4, 0x7A, 0xD2, 0x07, 0xEE, 0x31, 0x5F, 0x14, 0xF9, 0x4A, 0x29, 0xD1
.byte 0x55, 0x5A, 0x55, 0xF6
thumb_func_start sub_02000534
sub_02000534: ; 0x02000534
swi 0x15
bx lr
thumb_func_end sub_02000534
_02000538:
.byte 0xC9, 0xD7, 0x48, 0xAC, 0x4B, 0xF8, 0x70, 0x8F
.byte 0x36, 0x90, 0x8F, 0x04, 0x66, 0x06, 0x44, 0x3B, 0x42, 0xC6, 0x9E, 0x2C, 0x1E, 0xD2, 0x42, 0xD1
.byte 0x21, 0x02, 0xAD, 0x60, 0x1F, 0xB9, 0xA7, 0xF6, 0xAE, 0xE3, 0x56, 0x8A, 0x48, 0x46, 0xD8, 0x8A
.byte 0x26, 0x7A, 0xC0, 0x52, 0x7A, 0xEF, 0x0A, 0x98, 0xC3, 0x4A, 0x8F, 0x15, 0x13, 0x4D, 0x52, 0x29
.byte 0x5A, 0xB6, 0x72, 0x5E, 0xBD, 0xD7, 0xE4, 0xC6, 0xDB, 0x33, 0xC6, 0x6E, 0xBF, 0xBB, 0x0E, 0x5E
.byte 0x2A, 0xF9, 0xCA, 0x88, 0x76, 0x3C, 0x1F, 0x69, 0x5B, 0x75, 0xE3, 0x8D, 0xAD, 0x9B, 0xAF, 0xD0
.byte 0x56, 0x47, 0x00, 0x22
thumb_func_start sub_02000594
sub_02000594: ; 0x02000594
swi 5
bx lr
thumb_func_end sub_02000594
_02000598:
.byte 0x2F, 0x92, 0xFE, 0xF2, 0x23, 0x88, 0x34, 0x86
.byte 0xEC, 0xFA, 0xD9, 0x9C, 0x10, 0x2B, 0x9D, 0xA2, 0x7D, 0xD2, 0x3F, 0xE2, 0x8F, 0xC5, 0x7D, 0x7D
.byte 0xB6, 0xD4, 0xF5, 0x4C, 0x31, 0x8D, 0x24, 0xD7, 0xAC, 0x59, 0x83, 0xDD, 0xA0, 0x84, 0x15, 0xB9
.byte 0xC3, 0x30, 0xFD, 0x3F, 0xA7, 0x62, 0xBA, 0x67, 0x92, 0xE7, 0x24, 0x4C, 0x30, 0xE3, 0x98, 0x3E
.byte 0xE3, 0x44, 0x24, 0x35, 0x19, 0x31, 0xEB, 0xA0, 0xC9, 0xFA, 0x25, 0x3F, 0x9F, 0xA9, 0xED, 0xDD
.byte 0xEE, 0x4C, 0xF8, 0x04, 0x5C, 0x25, 0x6C, 0x29, 0x02, 0x52, 0xA2, 0x98, 0x49, 0xE2, 0xF7, 0x51
.byte 0x2A, 0x42, 0x75, 0x01, 0x40, 0x05, 0xBE, 0x7B, 0x25, 0x1E, 0xC6, 0xCC, 0x43, 0x0F, 0x1D, 0x32
.byte 0x2C, 0xAA, 0x23, 0x26, 0x14, 0xB7, 0x0D, 0xB4, 0x11, 0x37, 0x39, 0x3F, 0x07, 0x70, 0xBC, 0xB2
.byte 0x0E, 0x9D
non_word_aligned_thumb_func_start sub_02000612
sub_02000612: ; 0x02000612
swi 0xd
bx lr
thumb_func_end sub_02000612
_02000616:
.byte 0x5A, 0x12, 0x56, 0xE2, 0xDC, 0x36, 0x0A, 0xFD, 0xAA, 0xE2
.byte 0xEB, 0x54, 0x08, 0xFB, 0x0C, 0x17, 0x3A, 0x73, 0x5F, 0xE4, 0x2B, 0x35, 0x06, 0xB3, 0xF2, 0xE5
.byte 0xE5, 0x3C, 0x20, 0x35, 0xF8, 0xD9, 0x56, 0x36, 0xF3, 0x7F, 0xE6, 0x12, 0x46, 0x66, 0x14, 0xEC
.byte 0xBA, 0x3E, 0x27, 0xA7, 0x47, 0xA2, 0xB0, 0x3B, 0x35, 0x5E, 0x9F, 0x15, 0xF8, 0x77, 0xF3, 0x4A
.byte 0x8C, 0x25, 0xBD, 0x4F, 0x95, 0xA5, 0x0D, 0x69, 0xA0, 0xFC, 0x58, 0xAA, 0xCE, 0x8B, 0x30, 0xD9
.byte 0x5D, 0xED, 0xBA, 0xB0, 0x6F, 0x4C, 0xDD, 0xE3, 0x39, 0xBC, 0x5B, 0x0A, 0xEF, 0xAE, 0xEB, 0x5B
thumb_func_start sub_02000670
sub_02000670: ; 0x02000670
swi 0xf
bx lr
thumb_func_end sub_02000670
_02000674:
.byte 0x59, 0xF0, 0xE4, 0x34, 0xEC, 0xE8, 0x0E, 0x3C, 0x5B, 0x89, 0x08, 0xD7
.byte 0x66, 0xF0, 0x06, 0x22, 0xC0, 0x31, 0x98, 0x2C, 0x0B, 0x1C, 0x5A, 0xF5, 0x31, 0x13, 0x87, 0xB4
.byte 0x3B, 0xD0, 0xAF, 0x9A, 0x24, 0x88, 0xC5, 0x35, 0xD8, 0x31, 0x4A, 0x7D, 0xAE, 0xEB, 0xB4, 0xC8
.byte 0x3A, 0x74, 0x24, 0x77, 0x04, 0xEF, 0xCC, 0xE1, 0xB6, 0xE2, 0x90, 0x03, 0x8C, 0x27, 0xD3, 0xBC
.byte 0xA9, 0x89, 0x34, 0xD6, 0x39, 0xC7, 0xB7, 0x85, 0x2E, 0x31, 0xA0, 0x00, 0xD4, 0x97, 0x17, 0xF2
.byte 0x4E, 0x93, 0x6C, 0x75, 0xD4, 0xE9, 0x35, 0x76, 0xAA, 0x96, 0xFC, 0x42, 0x30, 0xAA, 0xE7, 0x5E
.byte 0xD0, 0x24, 0x07, 0x61, 0x1A, 0xFE
non_word_aligned_thumb_func_start sub_020006D6
sub_020006D6: ; 0x020006D6
swi 0x12
bx lr
thumb_func_end sub_020006D6
_020006DA:
.byte 0x80, 0xB3, 0x53, 0x0B, 0x0A, 0x8E
.byte 0xF4, 0x83, 0x4A, 0x66, 0x3F, 0x33, 0x00, 0x0B, 0x5E, 0x77, 0x2F, 0x0E, 0x85, 0xD9, 0xC7, 0xB5
.byte 0x73, 0x4F, 0x75, 0xE0, 0x65, 0x33, 0xEC, 0x04, 0xD2, 0xE3, 0x4B, 0xBB, 0x40, 0x57, 0xE8, 0xC9
.byte 0x13, 0x35, 0xF8, 0x3B, 0x7F, 0xF3, 0x15, 0x98, 0x32, 0xA1, 0x18, 0xA1, 0x37, 0x8C, 0xA6, 0xD1
.byte 0x68, 0xD5, 0x4C, 0xE3, 0x6E, 0x72, 0x09, 0x74, 0xF0, 0x17, 0x9C, 0xD5, 0xD6, 0xEB, 0x4D, 0xB8
.byte 0x60, 0x0B, 0xB0, 0x77, 0xCF, 0x84, 0xCC, 0x06, 0xF8, 0xCB, 0xB4, 0xFC, 0x54, 0x80, 0x0C, 0x46
.byte 0xE8, 0xDA, 0x13, 0x9A, 0x2A, 0x6F, 0xC5, 0x92, 0xC4, 0x71
non_word_aligned_thumb_func_start SVC_WaitByLoop
SVC_WaitByLoop: ; 0x0200073A
swi 3
bx lr
thumb_func_end SVC_WaitByLoop
_0200073E:
.byte 0xBB, 0x31
.byte 0x83, 0x0A, 0x8F, 0xCF, 0xB9, 0x52, 0x78, 0x64, 0xF0, 0x96, 0xA1, 0x44, 0x03, 0xDF, 0x65, 0xF3
.byte 0x14, 0xB1, 0x9E, 0x94, 0x5D, 0x53, 0x5D, 0x08, 0x7A, 0x04, 0x40, 0x37, 0x66, 0x2C, 0x12, 0xB3
.byte 0x85, 0xFD, 0xE7, 0x1E, 0x7B, 0x29, 0x4E, 0x16, 0xC1, 0x6F, 0x98, 0xA8, 0xB7, 0xB6, 0x46, 0xBC
.byte 0x72, 0x3B, 0x81, 0x23, 0xDB, 0x75, 0xF9, 0x86, 0xB8, 0xA1, 0xB2, 0xBF, 0x90, 0xAA, 0x17, 0x7D
.byte 0xE9, 0x09, 0x33, 0xEF, 0x5A, 0xB2, 0x7F, 0x70, 0x14, 0x06, 0x76, 0x47, 0xA5, 0xCF, 0x55, 0xB7
.byte 0x89, 0x0E, 0x00, 0xB6, 0x67, 0x4A
non_word_aligned_thumb_func_start sub_02000796
sub_02000796: ; 0x02000796
swi 6
bx lr
thumb_func_end sub_02000796
_0200079A:
.byte 0x5C, 0x62, 0x7B, 0x1D, 0x2B, 0x24
.byte 0x39, 0x46, 0xF6, 0x04, 0x9A, 0x55, 0x5C, 0xD9, 0xCC, 0x13, 0x3C, 0x97, 0xF2, 0x88, 0xD4, 0x6D
.byte 0xD6, 0xD4, 0x65, 0x59, 0x58, 0xF3, 0xD3, 0x5D, 0x72, 0x78, 0x49, 0x1F, 0x71, 0x79, 0xBF, 0x4E
.byte 0xD5, 0x93, 0x84, 0xD4, 0xEE, 0x45, 0x94, 0xE4, 0xD3, 0xCC, 0x4F, 0x54, 0x56, 0x70, 0xFA, 0xA2
.byte 0xE9, 0x7F, 0x41, 0x29, 0x06, 0x0B, 0xA6, 0x5C, 0xBC, 0x56, 0x5B, 0x83, 0xE7, 0x86, 0xEF, 0x52
.byte 0xD2, 0xF1, 0x0C, 0x1D, 0x59, 0xDC, 0x19, 0x2B, 0xDB, 0xE6, 0x5C, 0x2C, 0x05, 0xB5, 0x7D, 0x83
.byte 0x9A, 0x4B, 0x47, 0x3B, 0x50, 0x0F, 0x41, 0x57, 0x6A, 0x93, 0x00, 0x32, 0x9A, 0x95, 0x00, 0x00

View File

@ -0,0 +1,2 @@
#include <nitro/fs/overlay.h>
#pragma once

View File

@ -42,6 +42,8 @@ src_files.extend(add_files_with_extensions('lib', ['.c', '.h']))
replaced_symbols = set()
for language, pmdsky_debug_language_symbols in pmdsky_debug_symbols.items():
if language not in xmap_symbols:
continue
xmap_language_symbols = xmap_symbols[language]
for section_name, pmdsky_debug_section in pmdsky_debug_language_symbols.items():
if section_name == 'ram':