Merge pull request #102 from PikalaxALT/pikalax_work

No more hardcoded data symbols (static)
This commit is contained in:
Cleverking2003
2020-05-21 14:12:37 +03:00
committed by GitHub
228 changed files with 25824 additions and 24115 deletions

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern cardi_common
.extern OSi_ThreadInfo
.text
arm_func_start CARD_CancelBackupAsync
@@ -8,7 +11,7 @@ CARD_CancelBackupAsync: ; 0x020D6D7C
stmdb sp!, {lr}
sub sp, sp, #0x4
bl OS_DisableInterrupts
ldr r1, _020D6DA8 ; =0x021D55C0
ldr r1, _020D6DA8 ; =cardi_common
ldr r2, [r1, #0x114]
orr r2, r2, #0x40
str r2, [r1, #0x114]
@@ -17,7 +20,7 @@ CARD_CancelBackupAsync: ; 0x020D6D7C
ldmia sp!, {lr}
bx lr
.balign 4
_020D6DA8: .word 0x021D55C0
_020D6DA8: .word cardi_common
arm_func_start CARD_TryWaitBackupAsync
CARD_TryWaitBackupAsync: ; 0x020D6DAC
@@ -41,7 +44,7 @@ CARD_IdentifyBackup: ; 0x020D6DC4
sub sp, sp, #0x4
mov r5, r0
ldr r0, _020D6F00 ; =_SDK_NintendoBackup
ldr r7, _020D6F04 ; =0x021D55C0
ldr r7, _020D6F04 ; =cardi_common
bl OSi_ReferSymbol
_020D6DDC: ; 0x020D6DDC
cmp r5, #0x0
@@ -72,8 +75,8 @@ _020D6E18:
bl OS_RestoreInterrupts
mov r0, r5
bl CARDi_IdentifyBackupCore
ldr r0, _020D6F08 ; =0x021D3498
ldr r1, _020D6F04 ; =0x021D55C0
ldr r0, _020D6F08 ; =OSi_ThreadInfo
ldr r1, _020D6F04 ; =cardi_common
ldr r2, [r0, #0x4]
mov r0, r7
str r2, [r1, #0x104]
@@ -126,23 +129,23 @@ _020D6EE0:
bx lr
.balign 4
_020D6F00: .word _SDK_NintendoBackup
_020D6F04: .word 0x021D55C0
_020D6F08: .word 0x021D3498
_020D6F04: .word cardi_common
_020D6F08: .word OSi_ThreadInfo
arm_func_start CARD_GetBackupSectorSize
CARD_GetBackupSectorSize: ; 0x020D6F0C
ldr r0, _020D6F1C ; =0x021D55C0
ldr r0, _020D6F1C ; =cardi_common
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x1c]
bx lr
.balign 4
_020D6F1C: .word 0x021D55C0
_020D6F1C: .word cardi_common
arm_func_start CARDi_RequestStreamCommand
CARDi_RequestStreamCommand: ; 0x020D6F20
stmdb sp!, {r4-r10,lr}
mov r10, r0
ldr r6, _020D7004 ; =0x021D55C0
ldr r6, _020D7004 ; =cardi_common
ldr r0, _020D7008 ; =_SDK_NintendoBackup
mov r9, r1
mov r8, r2
@@ -187,8 +190,8 @@ _020D6F6C:
ldmia sp!, {r4-r10,lr}
bx lr
_020D6FD0:
ldr r0, _020D7010 ; =0x021D3498
ldr r1, _020D7004 ; =0x021D55C0
ldr r0, _020D7010 ; =OSi_ThreadInfo
ldr r1, _020D7004 ; =cardi_common
ldr r2, [r0, #0x4]
mov r0, r6
str r2, [r1, #0x104]
@@ -202,10 +205,10 @@ _020D6FE8: ; 0x020D6FE8
ldmia sp!, {r4-r10,lr}
bx lr
.balign 4
_020D7004: .word 0x021D55C0
_020D7004: .word cardi_common
_020D7008: .word _SDK_NintendoBackup
_020D700C: .word CARDi_RequestStreamCommandCore
_020D7010: .word 0x021D3498
_020D7010: .word OSi_ThreadInfo
arm_func_start CARDi_RequestStreamCommandCore
CARDi_RequestStreamCommandCore:

View File

@@ -1,6 +1,11 @@
.include "asm/macros.inc"
.include "global.inc"
.extern cardi_common
.extern UNK_021D5560
.extern UNK_021D555C
.extern UNK_021D5BE0
.text
arm_func_start CARD_UnlockBackup
@@ -43,29 +48,29 @@ CARD_LockRom: ; 0x020D66E0
arm_func_start CARD_GetResultCode
CARD_GetResultCode: ; 0x020D6700
ldr r0, _020D6710 ; =0x021D55C0
ldr r0, _020D6710 ; =cardi_common
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x0]
bx lr
.balign 4
_020D6710: .word 0x021D55C0
_020D6710: .word cardi_common
;CARDi_TryWaitAsync?
arm_func_start FUN_020D6714
FUN_020D6714: ; 0x020D6714
ldr r0, _020D672C ; =0x021D55C0
ldr r0, _020D672C ; =cardi_common
ldr r0, [r0, #0x114]
ands r0, r0, #0x4
moveq r0, #0x1
movne r0, #0x0
bx lr
.balign 4
_020D672C: .word 0x021D55C0
_020D672C: .word cardi_common
arm_func_start CARDi_WaitAsync
CARDi_WaitAsync: ; 0x020D6730
stmdb sp!, {r4-r6,lr}
ldr r6, _020D6788 ; =0x021D55C0
ldr r6, _020D6788 ; =cardi_common
bl OS_DisableInterrupts
ldr r1, [r6, #0x114]
mov r5, r0
@@ -90,15 +95,15 @@ _020D676C: ; 0x020D676C
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020D6788: .word 0x021D55C0
_020D6788: .word cardi_common
arm_func_start CARD_Enable
CARD_Enable: ; 0x020D678C
ldr r1, _020D6798 ; =0x021D555C
ldr r1, _020D6798 ; =UNK_021D555C
str r0, [r1, #0x0]
bx lr
.balign 4
_020D6798: .word 0x021D555C
_020D6798: .word UNK_021D555C
arm_func_start CARD_CheckEnabled
CARD_CheckEnabled: ; 0x020D679C
@@ -117,18 +122,18 @@ _020D67A8: ; 0x020D67A8
arm_func_start CARD_IsEnabled
CARD_IsEnabled:
ldr r0, _020D67D4 ; =0x021D555C
ldr r0, _020D67D4 ; =UNK_021D555C
ldr r0, [r0, #0x0]
bx lr
.balign 4
_020D67D4: .word 0x021D555C
_020D67D4: .word UNK_021D555C
arm_func_start CARDi_InitCommon
CARDi_InitCommon: ; 0x020D67D8
stmdb sp!, {r4,lr}
sub sp, sp, #0x8
ldr r4, _020D68B8 ; =0x021D55C0
ldr r1, _020D68BC ; =0x021D5560
ldr r4, _020D68B8 ; =cardi_common
ldr r1, _020D68BC ; =UNK_021D5560
mvn r2, #0x2
mov r0, #0x0
str r2, [r4, #0x8]
@@ -137,7 +142,7 @@ CARDi_InitCommon: ; 0x020D67D8
str r0, [r4, #0x18]
str r1, [r4, #0x0]
bl MIi_CpuClearFast
ldr r0, _020D68BC ; =0x021D5560
ldr r0, _020D68BC ; =UNK_021D5560
mov r1, #0x60
bl DC_FlushRange
ldr r0, _020D68C0 ; =0x027FFC40
@@ -162,7 +167,7 @@ _020D6834:
str r0, [sp, #0x0]
ldr r12, [r4, #0x108]
ldr r1, _020D68CC ; =CARDi_TaskThread
ldr r3, _020D68D0 ; =0x021D5BE0
ldr r3, _020D68D0 ; =UNK_021D5BE0
add r0, r4, #0x44
str r12, [sp, #0x4]
bl OS_CreateThread
@@ -183,20 +188,20 @@ _020D6834:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D68B8: .word 0x021D55C0
_020D68BC: .word 0x021D5560
_020D68B8: .word cardi_common
_020D68BC: .word UNK_021D5560
_020D68C0: .word 0x027FFC40
_020D68C4: .word 0x027FFE00
_020D68C8: .word 0x027FFA80
_020D68CC: .word CARDi_TaskThread
_020D68D0: .word 0x021D5BE0
_020D68D0: .word UNK_021D5BE0
_020D68D4: .word CARDi_OnFifoRecv
arm_func_start CARDi_UnlockResource
CARDi_UnlockResource: ; 0x020D68D8
stmdb sp!, {r4-r7,lr}
sub sp, sp, #0x4
ldr r5, _020D6978 ; =0x021D55C0
ldr r5, _020D6978 ; =cardi_common
mov r7, r0
mov r6, r1
bl OS_DisableInterrupts
@@ -239,13 +244,13 @@ _020D6958:
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020D6978: .word 0x021D55C0
_020D6978: .word cardi_common
arm_func_start CARDi_LockResource
CARDi_LockResource: ; 0x020D697C
stmdb sp!, {r4-r9,lr}
sub sp, sp, #0x4
ldr r5, _020D6A14 ; =0x021D55C0
ldr r5, _020D6A14 ; =cardi_common
mov r7, r0
mov r6, r1
bl OS_DisableInterrupts
@@ -286,13 +291,13 @@ _020D69E8:
ldmia sp!, {r4-r9,lr}
bx lr
.balign 4
_020D6A14: .word 0x021D55C0
_020D6A14: .word cardi_common
arm_func_start CARDi_SetTask
CARDi_SetTask: ; 0x020D6A18
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r4, _020D6A5C ; =0x021D55C0
ldr r4, _020D6A5C ; =cardi_common
mov r5, r0
ldr r1, [r4, #0x108]
add r0, r4, #0x44
@@ -308,4 +313,4 @@ CARDi_SetTask: ; 0x020D6A18
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D6A5C: .word 0x021D55C0
_020D6A5C: .word cardi_common

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D5E20
.extern UNK_021D5E24
.text
arm_func_start CARDi_SendtoPxi
@@ -106,11 +109,11 @@ _020D7D14: .word 0x000A3A47
arm_func_start CARD_IsPulledOut
CARD_IsPulledOut: ; 0x020D7D18
ldr r0, _020D7D24 ; =0x021D5E20
ldr r0, _020D7D24 ; =UNK_021D5E20
ldr r0, [r0, #0x0]
bx lr
.balign 4
_020D7D24: .word 0x021D5E20
_020D7D24: .word UNK_021D5E20
arm_func_start CARDi_PulledOutCallback
CARDi_PulledOutCallback: ; 0x020D7D28
@@ -119,13 +122,13 @@ CARDi_PulledOutCallback: ; 0x020D7D28
and r0, r1, #0x3f
cmp r0, #0x11
bne _020D7D90
ldr r2, _020D7DA0 ; =0x021D5E20
ldr r2, _020D7DA0 ; =UNK_021D5E20
ldr r0, [r2, #0x0]
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {lr}
bxne lr
ldr r1, _020D7DA4 ; =0x021D5E24
ldr r1, _020D7DA4 ; =UNK_021D5E24
mov r0, #0x1
ldr r1, [r1, #0x0]
str r0, [r2, #0x0]
@@ -147,8 +150,8 @@ _020D7D90:
ldmia sp!, {lr}
bx lr
.balign 4
_020D7DA0: .word 0x021D5E20
_020D7DA4: .word 0x021D5E24
_020D7DA0: .word UNK_021D5E20
_020D7DA4: .word UNK_021D5E24
arm_func_start CARD_InitPulledOutCallback
CARD_InitPulledOutCallback: ; 0x020D7DA8
@@ -158,7 +161,7 @@ CARD_InitPulledOutCallback: ; 0x020D7DA8
ldr r1, _020D7DD8 ; =CARDi_PulledOutCallback
mov r0, #0xe
bl PXI_SetFifoRecvCallback
ldr r0, _020D7DDC ; =0x021D5E24
ldr r0, _020D7DDC ; =UNK_021D5E24
mov r1, #0x0
str r1, [r0, #0x0]
add sp, sp, #0x4
@@ -166,4 +169,4 @@ CARD_InitPulledOutCallback: ; 0x020D7DA8
bx lr
.balign 4
_020D7DD8: .word CARDi_PulledOutCallback
_020D7DDC: .word 0x021D5E24
_020D7DDC: .word UNK_021D5E24

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern cardi_common
.text
arm_func_start CARDi_Request
@@ -111,7 +113,7 @@ _020D7B08:
CARDi_TaskThread: ; 0x020D7B20
stmdb sp!, {r4-r7,lr}
sub sp, sp, #0x4
ldr r5, _020D7B78 ; =0x021D55C0
ldr r5, _020D7B78 ; =cardi_common
mov r6, #0x0
add r7, r5, #0x44
_020D7B34:
@@ -135,7 +137,7 @@ _020D7B60:
blx r1
b _020D7B34
.balign 4
_020D7B78: .word 0x021D55C0
_020D7B78: .word cardi_common
arm_func_start CARDi_OnFifoRecv
CARDi_OnFifoRecv: ; 0x020D7B7C
@@ -149,7 +151,7 @@ CARDi_OnFifoRecv: ; 0x020D7B7C
addeq sp, sp, #0x4
ldmeqia sp!, {lr}
bxeq lr
ldr r1, _020D7BC8 ; =0x021D55C0
ldr r1, _020D7BC8 ; =cardi_common
ldr r0, [r1, #0x114]
bic r0, r0, #0x20
str r0, [r1, #0x114]
@@ -159,4 +161,4 @@ CARDi_OnFifoRecv: ; 0x020D7B7C
ldmia sp!, {lr}
bx lr
.balign 4
_020D7BC8: .word 0x021D55C0
_020D7BC8: .word cardi_common

View File

@@ -1,6 +1,12 @@
.include "asm/macros.inc"
.include "global.inc"
.extern OSi_ThreadInfo
.extern UNK_021D5BE0
.extern cardi_common
.extern UNK_02106A50
.extern UNK_021D5C00
.text
arm_func_start CARDi_GetRomAccessor
@@ -21,7 +27,7 @@ _020D7224: .word CARDi_WaitAsync
CARD_Init: ; 0x020D7228
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr ip, _020D72A0 ; =0x021D55C0
ldr ip, _020D72A0 ; =cardi_common
ldr r0, [r12, #0x114]
cmp r0, #0x0
addne sp, sp, #0x4
@@ -35,7 +41,7 @@ CARD_Init: ; 0x020D7228
mvn r1, #0x0
str r0, [r12, #0x20]
ldr r2, [r12, #0x20]
ldr r0, _020D72A4 ; =0x021D5BE0
ldr r0, _020D72A4 ; =UNK_021D5BE0
str r2, [r12, #0x1c]
str r1, [r12, #0x28]
str r3, [r12, #0x38]
@@ -43,27 +49,27 @@ CARD_Init: ; 0x020D7228
str r3, [r0, #0x0]
bl CARDi_InitCommon
bl CARDi_GetRomAccessor
ldr r1, _020D72A8 ; =0x021D5C00
ldr r1, _020D72A8 ; =UNK_021D5C00
str r0, [r1, #0x0]
bl CARD_InitPulledOutCallback
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020D72A0: .word 0x021D55C0
_020D72A4: .word 0x021D5BE0
_020D72A8: .word 0x021D5C00
_020D72A0: .word cardi_common
_020D72A4: .word UNK_021D5BE0
_020D72A8: .word UNK_021D5C00
arm_func_start CARDi_ReadRom
CARDi_ReadRom: ; 0x020D72AC
stmdb sp!, {r4-r11,lr}
sub sp, sp, #0x4
ldr r6, _020D73C0 ; =0x021D55C0
ldr r6, _020D73C0 ; =cardi_common
mov r10, r0
mov r9, r1
mov r8, r2
mov r7, r3
ldr fp, _020D73C4 ; =0x021D5C00
ldr fp, _020D73C4 ; =UNK_021D5C00
bl CARD_CheckEnabled
bl OS_DisableInterrupts
ldr r1, [r6, #0x114]
@@ -87,7 +93,7 @@ _020D72FC:
mov r0, r5
str r1, [r6, #0x3c]
bl OS_RestoreInterrupts
ldr r0, _020D73C8 ; =0x021D5BE0
ldr r0, _020D73C8 ; =UNK_021D5BE0
str r10, [r6, #0x28]
ldr r0, [r0, #0x0]
cmp r10, #0x3
@@ -123,7 +129,7 @@ _020D7380:
ldmia sp!, {r4-r11,lr}
bx lr
_020D73A0:
ldr r1, _020D73D0 ; =0x021D3498
ldr r1, _020D73D0 ; =OSi_ThreadInfo
mov r0, r6
ldr r1, [r1, #0x4]
str r1, [r6, #0x104]
@@ -132,17 +138,17 @@ _020D73A0:
ldmia sp!, {r4-r11,lr}
bx lr
.balign 4
_020D73C0: .word 0x021D55C0
_020D73C4: .word 0x021D5C00
_020D73C8: .word 0x021D5BE0
_020D73C0: .word cardi_common
_020D73C4: .word UNK_021D5C00
_020D73C8: .word UNK_021D5BE0
_020D73CC: .word CARDi_ReadRomSyncCore
_020D73D0: .word 0x021D3498
_020D73D0: .word OSi_ThreadInfo
arm_func_start CARDi_ReadRomSyncCore
CARDi_ReadRomSyncCore: ; 0x020D73D4
stmdb sp!, {r4-r7,lr}
sub sp, sp, #0x4
ldr r4, _020D7478 ; =0x021D5C00
ldr r4, _020D7478 ; =UNK_021D5C00
mov r0, r4
bl CARDi_ReadFromCache
_020D73E8: ; 0x020D73E8
@@ -152,7 +158,7 @@ _020D73E8: ; 0x020D73E8
mov r0, r4
blx r1
_020D73FC:
ldr r7, _020D747C ; =0x021D55C0
ldr r7, _020D747C ; =cardi_common
bl CARDi_ReadRomIDCore
bl CARDi_CheckPulledOutCore
_020D7408: ; 0x020D7408
@@ -187,8 +193,8 @@ _020D7454: ; 0x020D7454
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020D7478: .word 0x021D5C00
_020D747C: .word 0x021D55C0
_020D7478: .word UNK_021D5C00
_020D747C: .word cardi_common
arm_func_start CARDi_ReadRomIDCore
CARDi_ReadRomIDCore: ; 0x020D7480
@@ -197,7 +203,7 @@ CARDi_ReadRomIDCore: ; 0x020D7480
mov r0, #0xb8000000
mov r1, #0x0
bl CARDi_SetRomOp
ldr r1, _020D74DC ; =0x02106A50
ldr r1, _020D74DC ; =UNK_02106A50
mov r0, #0x2000
ldr r1, [r1, #0x0]
rsb r0, r0, #0x0
@@ -217,7 +223,7 @@ _020D74BC:
ldmia sp!, {lr}
bx lr
.balign 4
_020D74DC: .word 0x02106A50
_020D74DC: .word UNK_02106A50
_020D74E0: .word 0x040001A4
_020D74E4: .word 0x04100010
@@ -226,7 +232,7 @@ CARDi_ReadCard: ; 0x020D74E8
stmdb sp!, {r4-r11,lr}
sub sp, sp, #0x4
mov r10, r0
ldr sb, _020D75DC ; =0x021D55C0
ldr sb, _020D75DC ; =cardi_common
add r7, r10, #0x20
ldr r5, _020D75E0 ; =0x04100010
ldr r6, _020D75E4 ; =0x040001A4
@@ -292,7 +298,7 @@ _020D75C8: ; 0x020D75C8
ldmia sp!, {r4-r11,lr}
bx lr
.balign 4
_020D75DC: .word 0x021D55C0
_020D75DC: .word cardi_common
_020D75E0: .word 0x04100010
_020D75E4: .word 0x040001A4
@@ -300,7 +306,7 @@ _020D75E4: .word 0x040001A4
CARDi_TryReadCardDma:
stmdb sp!, {r4-r11,lr}
sub sp, sp, #0x4
ldr fp, _020D7748 ; =0x021D55C0
ldr fp, _020D7748 ; =cardi_common
mov r7, #0x0
ldr r9, [r11, #0x20]
mov r10, r0
@@ -352,7 +358,7 @@ _020D7694:
cmp r8, #0x0
movne r7, #0x1
_020D76A4:
ldr r0, _020D7754 ; =0x02106A50
ldr r0, _020D7754 ; =UNK_02106A50
cmp r7, #0x0
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x60]
@@ -400,17 +406,17 @@ _020D7738:
_020D7748: .word cardi_common
_020D774C: .word 0x01FF8000
_020D7750: .word 0x000001FF
_020D7754: .word 0x02106A50
_020D7754: .word UNK_02106A50
_020D7758: .word CARDi_OnReadCard
arm_func_start CARDi_OnReadCard
CARDi_OnReadCard: ; 0x020D775C
stmdb sp!, {r4-r7,lr}
sub sp, sp, #0x4
ldr r0, _020D7838 ; =0x021D55C0
ldr r0, _020D7838 ; =cardi_common
ldr r0, [r0, #0x28]
bl MI_StopDma
ldr r0, _020D7838 ; =0x021D55C0
ldr r0, _020D7838 ; =cardi_common
ldr r3, [r0, #0x1c]
ldr r2, [r0, #0x20]
ldr r1, [r0, #0x24]
@@ -425,7 +431,7 @@ CARDi_OnReadCard: ; 0x020D775C
bl OS_DisableIrqMask
mov r0, #0x80000
bl OS_ResetRequestIrqMask
ldr r7, _020D7838 ; =0x021D55C0
ldr r7, _020D7838 ; =cardi_common
bl CARDi_ReadRomIDCore
bl CARDi_CheckPulledOutCore
_020D77B8: ; 0x020D77B8
@@ -465,12 +471,12 @@ _020D7828:
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020D7838: .word 0x021D55C0
_020D7838: .word cardi_common
arm_func_start CARDi_SetCardDma
CARDi_SetCardDma: ; 0x020D783C
stmdb sp!, {r4,lr}
ldr r4, _020D7884 ; =0x021D55C0
ldr r4, _020D7884 ; =cardi_common
ldr r1, _020D7888 ; =0x04100010
ldr r0, [r4, #0x28]
ldr r2, [r4, #0x20]
@@ -481,16 +487,16 @@ CARDi_SetCardDma: ; 0x020D783C
orr r0, r0, #0xb7000000
mov r1, r1, lsl #0x18
bl CARDi_SetRomOp
ldr r0, _020D788C ; =0x021D5C00
ldr r0, _020D788C ; =UNK_021D5C00
ldr r1, _020D7890 ; =0x040001A4
ldr r0, [r0, #0x4]
str r0, [r1, #0x0]
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D7884: .word 0x021D55C0
_020D7884: .word cardi_common
_020D7888: .word 0x04100010
_020D788C: .word 0x021D5C00
_020D788C: .word UNK_021D5C00
_020D7890: .word 0x040001A4
arm_func_start CARDi_SetRomOp
@@ -542,7 +548,7 @@ _020D7930: .word 0x040001AF
CARDi_ReadFromCache:
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r5, _020D79C8 ; =0x021D55C0
ldr r5, _020D79C8 ; =cardi_common
mov r1, #0x200
ldr r3, [r5, #0x1c]
rsb r1, r1, #0x0
@@ -579,4 +585,4 @@ _020D79AC:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D79C8: .word 0x021D55C0
_020D79C8: .word cardi_common

View File

@@ -1,13 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern cardi_common
.text
arm_func_start CARDi_IdentifyBackupCore
CARDi_IdentifyBackupCore: ; 0x020D6A60
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r1, _020D6D60 ; =0x021D55C0
ldr r1, _020D6D60 ; =cardi_common
mov r5, r0
ldr r4, [r1, #0x0]
mov r1, #0x0
@@ -206,7 +208,7 @@ _020D6D38:
mov r1, #0x0
str r1, [r4, #0x4]
str r1, [r4, #0x18]
ldr r0, _020D6D60 ; =0x021D55C0
ldr r0, _020D6D60 ; =cardi_common
mov r1, #0x3
ldr r0, [r0, #0x0]
str r1, [r0, #0x0]
@@ -214,7 +216,7 @@ _020D6D38:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D6D60: .word 0x021D55C0
_020D6D60: .word cardi_common
_020D6D64: .word 0x00001388
_020D6D68: .word 0x00000BB8
_020D6D6C: .word 0x00004268

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D6940
.extern UNK_021D6944
.text
arm_func_start CTRDG_CheckEnabled
@@ -30,7 +33,7 @@ CTRDG_Enable: ; 0x020DB15C
sub sp, sp, #0x4
mov r5, r0
bl OS_DisableInterrupts
ldr r1, _020DB1AC ; =0x021D6940
ldr r1, _020DB1AC ; =UNK_021D6940
mov r4, r0
str r5, [r1, #0x0]
bl CTRDG_IsOptionCartridge
@@ -49,15 +52,15 @@ _020DB198:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DB1AC: .word 0x021D6940
_020DB1AC: .word UNK_021D6940
arm_func_start CTRDG_IsEnabled
CTRDG_IsEnabled:
ldr r0, _020DB1BC ; =0x021D6940
ldr r0, _020DB1BC ; =UNK_021D6940
ldr r0, [r0, #0x0]
bx lr
.balign 4
_020DB1BC: .word 0x021D6940
_020DB1BC: .word UNK_021D6940
arm_func_start CTRDGi_AccessCommon
CTRDGi_AccessCommon: ; 0x020DB1C0
@@ -75,7 +78,7 @@ _020DB1DC: ; 0x020DB1DC
ldmeqia sp!, {r4-r7,lr}
bxeq lr
bl CTRDG_CheckEnabled
ldr r0, _020DB2BC ; =0x021D6944
ldr r0, _020DB2BC ; =UNK_021D6944
ldrh r0, [r0, #0x2]
bl OS_LockCartridge
cmp r4, #0x21
@@ -123,7 +126,7 @@ _020DB280:
_020DB290:
strb r6, [r7, #0x0]
_020DB294:
ldr r0, _020DB2BC ; =0x021D6944
ldr r0, _020DB2BC ; =UNK_021D6944
ldrh r0, [r0, #0x2]
bl OS_UnlockCartridge
bl CTRDG_IsExisting
@@ -135,7 +138,7 @@ _020DB2A4: ; 0x020DB2A4
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020DB2BC: .word 0x021D6944
_020DB2BC: .word UNK_021D6944
arm_func_start CTRDG_Read32
CTRDG_Read32: ; 0x020DB2C0
@@ -163,7 +166,7 @@ _020DB2F4: ; 0x020DB2F4
ldmeqia sp!, {r4-r7,lr}
bxeq lr
bl CTRDG_CheckEnabled
ldr r0, _020DB42C ; =0x021D6944
ldr r0, _020DB42C ; =UNK_021D6944
ldrh r0, [r0, #0x2]
bl OS_LockCartridge
ldr r0, [sp, #0x18]
@@ -236,7 +239,7 @@ _020DB3F0:
strb r0, [r5], #0x1
blo _020DB3F0
_020DB404:
ldr r0, _020DB42C ; =0x021D6944
ldr r0, _020DB42C ; =UNK_021D6944
ldrh r0, [r0, #0x2]
bl OS_UnlockCartridge
bl CTRDG_IsExisting
@@ -248,7 +251,7 @@ _020DB414: ; 0x020DB414
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020DB42C: .word 0x021D6944
_020DB42C: .word UNK_021D6944
arm_func_start CTRDG_CpuCopy32
CTRDG_CpuCopy32: ; 0x020DB430
@@ -458,7 +461,7 @@ CTRDG_IsExisting:
moveq r0, #0x0
ldmeqia sp!, {r4,lr}
bxeq lr
ldr r0, _020DB7A0 ; =0x021D6944
ldr r0, _020DB7A0 ; =UNK_021D6944
add r1, sp, #0x0
ldrh r0, [r0, #0x2]
bl CTRDGi_LockByProcessor
@@ -502,7 +505,7 @@ _020DB75C:
_020DB770:
add r0, sp, #0x8
bl CTRDGi_RestoreAccessCycle
ldr r0, _020DB7A0 ; =0x021D6944
ldr r0, _020DB7A0 ; =UNK_021D6944
add r1, sp, #0x0
ldrh r0, [r0, #0x2]
bl CTRDGi_UnlockByProcessor
@@ -513,7 +516,7 @@ _020DB770:
.balign 4
_020DB798: .word 0x027FFC30
_020DB79C: .word 0x0000FFFF
_020DB7A0: .word 0x021D6944
_020DB7A0: .word UNK_021D6944
_020DB7A4: .word 0x0801FFFE
arm_func_start CTRDG_IsPulledOut
@@ -661,18 +664,18 @@ _020DB928:
CTRDGi_InitCommon: ; 0x020DB938
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r1, _020DB970 ; =0x021D6944
ldr r1, _020DB970 ; =UNK_021D6944
mov r3, #0x0
ldr r2, _020DB974 ; =0x05000001
add r0, sp, #0x0
str r3, [sp, #0x0]
bl FUN_020002FE
bl OS_GetLockID
ldr r1, _020DB970 ; =0x021D6944
ldr r1, _020DB970 ; =UNK_021D6944
strh r0, [r1, #0x2]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020DB970: .word 0x021D6944
_020DB970: .word UNK_021D6944
_020DB974: .word 0x05000001

View File

@@ -1,6 +1,21 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02103FE8
.extern UNK_021D6B14
.extern UNK_021D6B30
.extern UNK_021D6B28
.extern UNK_021D6B1C
.extern UNK_021D6B24
.extern UNK_021D6B20
.extern UNK_021D6B4C
.extern UNK_021D6B0C
.extern UNK_02103FE4
.extern UNK_02103FF4
.extern UNK_021D6B34
.extern UNK_021D6B2C
.extern UNK_021D6B18
.text
arm_func_start CTRDG_IdentifyAgbBackup
@@ -12,15 +27,15 @@ CTRDG_IdentifyAgbBackup: ; 0x020DBD50
mov r0, #0x1
bhi _020DBEAC
bl OS_GetLockID
ldr r1, _020DBED8 ; =0x021D6B0C
ldr r1, _020DBED8 ; =UNK_021D6B0C
strh r0, [r1, #0x0]
ldrh r0, [r1, #0x0]
bl OS_LockCartridge
ldr r6, _020DBEDC ; =0x04000204
ldr r1, _020DBEE0 ; =0x02103FE4
ldr r1, _020DBEE0 ; =UNK_02103FE4
ldrh r3, [r6, #0x0]
ldrh r2, [r6, #0x0]
ldr r0, _020DBEE4 ; =0x021D6B28
ldr r0, _020DBEE4 ; =UNK_021D6B28
and r4, r3, #0x3
bic r2, r2, #0x3
orr r2, r2, #0x3
@@ -31,14 +46,14 @@ CTRDG_IdentifyAgbBackup: ; 0x020DBD50
mov r6, r0
ldrh r1, [r2, #0x0]
cmp r7, #0x0
ldreq r5, _020DBEE8 ; =0x02103FF4
ldreq r5, _020DBEE8 ; =UNK_02103FF4
bic r1, r1, #0x3
orr r1, r1, r4
cmp r7, #0x1
ldr r0, _020DBED8 ; =0x021D6B0C
ldr r0, _020DBED8 ; =UNK_021D6B0C
strh r1, [r2, #0x0]
ldrh r0, [r0, #0x0]
ldreq r5, _020DBEEC ; =0x02103FE8
ldreq r5, _020DBEEC ; =UNK_02103FE8
bl OS_UnlockCartridge2
ldr r2, [r5, #0x0]
mov r0, #0x1
@@ -57,26 +72,26 @@ _020DBDF4:
bne _020DBDF4
_020DBE14:
ldr r2, [r2, #0x0]
ldr r1, _020DBEF0 ; =0x021D6B14
ldr r3, _020DBEF4 ; =0x021D6B34
ldr r1, _020DBEF0 ; =UNK_021D6B14
ldr r3, _020DBEF4 ; =UNK_021D6B34
str r2, [r1, #0x0]
ldr r1, [r5, #0x0]
ldr r2, _020DBEF8 ; =0x021D6B2C
ldr r2, _020DBEF8 ; =UNK_021D6B2C
ldr r4, [r1, #0x4]
ldr r1, _020DBEFC ; =0x021D6B18
ldr r1, _020DBEFC ; =UNK_021D6B18
str r4, [r3, #0x0]
ldr r3, [r5, #0x0]
ldr r6, _020DBF00 ; =0x021D6B1C
ldr r6, _020DBF00 ; =UNK_021D6B1C
ldr r3, [r3, #0x8]
ldr r4, _020DBF04 ; =0x021D6B30
ldr r4, _020DBF04 ; =UNK_021D6B30
str r3, [r2, #0x0]
ldr r2, [r5, #0x0]
ldr r3, _020DBF08 ; =0x021D6B24
ldr r3, _020DBF08 ; =UNK_021D6B24
ldr r7, [r2, #0xc]
ldr r2, _020DBEE4 ; =0x021D6B28
ldr r2, _020DBEE4 ; =UNK_021D6B28
str r7, [r1, #0x0]
ldr r7, [r5, #0x0]
ldr r1, _020DBF0C ; =0x021D6B20
ldr r1, _020DBF0C ; =UNK_021D6B20
ldr r7, [r7, #0x10]
add sp, sp, #0x4
str r7, [r6, #0x0]
@@ -100,25 +115,25 @@ _020DBEAC:
ldmneia sp!, {r4-r7,lr}
bxne lr
bl OS_GetLockID
ldr r1, _020DBF10 ; =0x021D6B4C
ldr r1, _020DBF10 ; =UNK_021D6B4C
strh r0, [r1, #0x0]
mov r0, #0x0
add sp, sp, #0x4
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020DBED8: .word 0x021D6B0C
_020DBED8: .word UNK_021D6B0C
_020DBEDC: .word 0x04000204
_020DBEE0: .word 0x02103FE4
_020DBEE4: .word 0x021D6B28
_020DBEE8: .word 0x02103FF4
_020DBEEC: .word 0x02103FE8
_020DBEF0: .word 0x021D6B14
_020DBEF4: .word 0x021D6B34
_020DBEF8: .word 0x021D6B2C
_020DBEFC: .word 0x021D6B18
_020DBF00: .word 0x021D6B1C
_020DBF04: .word 0x021D6B30
_020DBF08: .word 0x021D6B24
_020DBF0C: .word 0x021D6B20
_020DBF10: .word 0x021D6B4C
_020DBEE0: .word UNK_02103FE4
_020DBEE4: .word UNK_021D6B28
_020DBEE8: .word UNK_02103FF4
_020DBEEC: .word UNK_02103FE8
_020DBEF0: .word UNK_021D6B14
_020DBEF4: .word UNK_021D6B34
_020DBEF8: .word UNK_021D6B2C
_020DBEFC: .word UNK_021D6B18
_020DBF00: .word UNK_021D6B1C
_020DBF04: .word UNK_021D6B30
_020DBF08: .word UNK_021D6B24
_020DBF0C: .word UNK_021D6B20
_020DBF10: .word UNK_021D6B4C

View File

@@ -1,6 +1,14 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_0210400C
.extern UNK_021D6B20
.extern UNK_021D6B24
.extern UNK_021D6B0C
.extern UNK_021D6B38
.extern UNK_02104048
.extern UNK_021D6B08
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncAT
@@ -162,16 +170,16 @@ CTRDGi_WriteFlash4KBCoreAT: ; 0x020DC780
ldrhs r0, _020DC85C ; =0x000080FF
ldmcsia sp!, {r4-r9,lr}
bxcs lr
ldr r1, _020DC860 ; =0x0210400C
ldr r1, _020DC860 ; =UNK_0210400C
mov r0, r0, lsl #0x15
ldr r1, [r1, #0x24]
ldr r4, _020DC864 ; =0x021D6B08
ldr r4, _020DC864 ; =UNK_021D6B08
mov r8, r0, lsr #0x10
strh r1, [r4, #0x0]
ldrh r0, [r4, #0x0]
cmp r0, #0x0
beq _020DC84C
ldr r0, _020DC868 ; =0x02104048
ldr r0, _020DC868 ; =UNK_02104048
ldr r6, [r0, #0x24]
mov r5, #0x2
_020DC7F4:
@@ -206,9 +214,9 @@ _020DC84C:
bx lr
.balign 4
_020DC85C: .word 0x000080FF
_020DC860: .word 0x0210400C
_020DC864: .word 0x021D6B08
_020DC868: .word 0x02104048
_020DC860: .word UNK_0210400C
_020DC864: .word UNK_021D6B08
_020DC868: .word UNK_02104048
arm_func_start CTRDGi_WriteFlashSectorCoreAT
CTRDGi_WriteFlashSectorCoreAT: ; 0x020DC86C
@@ -220,19 +228,19 @@ CTRDGi_WriteFlashSectorCoreAT: ; 0x020DC86C
stmia r4!, {r0-r3}
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, _020DC984 ; =0x021D6B0C
ldr r0, _020DC984 ; =UNK_021D6B0C
ldr r1, [r5, #0x0]
ldrh r0, [r0, #0x0]
str r1, [r4, #0x0]
ldr r4, [sp, #0xc]
bl OS_LockCartridge
ldr r5, _020DC988 ; =0x04000204
ldr r1, _020DC98C ; =0x021D6B20
ldr r1, _020DC98C ; =UNK_021D6B20
ldrh r0, [r5, #0x0]
ldr r1, [r1, #0x0]
ldrh r2, [r5, #0x0]
ldr r3, [r1, #0x10]
ldr r1, _020DC990 ; =0x02104048
ldr r1, _020DC990 ; =UNK_02104048
bic r2, r2, #0x3
orr r2, r2, r3
strh r2, [r5, #0x0]
@@ -263,7 +271,7 @@ _020DC91C:
bne _020DC91C
_020DC92C:
ldr ip, _020DC994 ; =0x04000208
ldr r3, _020DC9A0 ; =0x021D6B24
ldr r3, _020DC9A0 ; =UNK_021D6B24
ldrh r0, [r12, #0x0]
sub r1, r1, #0x1
mov r0, #0x1
@@ -272,7 +280,7 @@ _020DC92C:
ldr r3, [r3, #0x0]
blx r3
ldr r3, _020DC988 ; =0x04000204
ldr r1, _020DC984 ; =0x021D6B0C
ldr r1, _020DC984 ; =UNK_021D6B0C
ldrh r2, [r3, #0x0]
mov r4, r0
bic r0, r2, #0x3
@@ -285,14 +293,14 @@ _020DC92C:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DC984: .word 0x021D6B0C
_020DC984: .word UNK_021D6B0C
_020DC988: .word 0x04000204
_020DC98C: .word 0x021D6B20
_020DC990: .word 0x02104048
_020DC98C: .word UNK_021D6B20
_020DC990: .word UNK_02104048
_020DC994: .word 0x04000208
_020DC998: .word 0x0A005555
_020DC99C: .word 0x0A002AAA
_020DC9A0: .word 0x021D6B24
_020DC9A0: .word UNK_021D6B24
arm_func_start CTRDGi_EraseFlash4KBCoreAT
CTRDGi_EraseFlash4KBCoreAT: ; 0x020DC9A4
@@ -358,9 +366,9 @@ CTRDGi_EraseFlashSectorCoreAT: ; 0x020DCA58
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, [r5, #0x0]
ldr r1, _020DCB80 ; =0x02104048
ldr r1, _020DCB80 ; =UNK_02104048
str r0, [r4, #0x0]
ldr r0, _020DCB84 ; =0x021D6B0C
ldr r0, _020DCB84 ; =UNK_021D6B0C
ldrh r2, [sp, #0x20]
ldrh r1, [r1, #0x28]
ldrh r0, [r0, #0x0]
@@ -368,7 +376,7 @@ CTRDGi_EraseFlashSectorCoreAT: ; 0x020DCA58
add r5, r1, #0xa000000
bl OS_LockCartridge
ldr r4, _020DCB88 ; =0x04000204
ldr r1, _020DCB8C ; =0x021D6B20
ldr r1, _020DCB8C ; =UNK_021D6B20
ldrh r0, [r4, #0x0]
ldr r2, [r1, #0x0]
ldrh r1, [r4, #0x0]
@@ -388,7 +396,7 @@ CTRDGi_EraseFlashSectorCoreAT: ; 0x020DCA58
strb r3, [r1, #0x0]
mov r3, #0xa0
strb r3, [r4, #0x0]
ldr r1, _020DCB80 ; =0x02104048
ldr r1, _020DCB80 ; =UNK_02104048
and r4, r0, #0x3
ldr r1, [r1, #0x24]
cmp r1, #0x0
@@ -400,7 +408,7 @@ _020DCB0C:
bne _020DCB0C
_020DCB18:
ldr ip, _020DCB90 ; =0x04000208
ldr r3, _020DCB9C ; =0x021D6B24
ldr r3, _020DCB9C ; =UNK_021D6B24
ldrh r0, [r12, #0x0]
sub r1, r5, #0x1
strh r2, [r12, #0x0]
@@ -417,7 +425,7 @@ _020DCB18:
bic r1, r1, #0x3
movne r5, r0, lsr #0x10
orr r1, r1, r4
ldr r0, _020DCB84 ; =0x021D6B0C
ldr r0, _020DCB84 ; =UNK_021D6B0C
strh r1, [r2, #0x0]
ldrh r0, [r0, #0x0]
bl OS_UnlockCartridge2
@@ -426,24 +434,24 @@ _020DCB18:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DCB80: .word 0x02104048
_020DCB84: .word 0x021D6B0C
_020DCB80: .word UNK_02104048
_020DCB84: .word UNK_021D6B0C
_020DCB88: .word 0x04000204
_020DCB8C: .word 0x021D6B20
_020DCB8C: .word UNK_021D6B20
_020DCB90: .word 0x04000208
_020DCB94: .word 0x0A005555
_020DCB98: .word 0x0A002AAA
_020DCB9C: .word 0x021D6B24
_020DCB9C: .word UNK_021D6B24
arm_func_start CTRDGi_EraseFlashChipCoreAT
CTRDGi_EraseFlashChipCoreAT: ; 0x020DCBA0
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r0, _020DCC7C ; =0x021D6B0C
ldr r0, _020DCC7C ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r4, _020DCC80 ; =0x04000204
ldr r0, _020DCC84 ; =0x021D6B20
ldr r0, _020DCC84 ; =UNK_021D6B20
ldrh r3, [r4, #0x0]
ldr r0, [r0, #0x0]
ldrh r1, [r4, #0x0]
@@ -454,7 +462,7 @@ CTRDGi_EraseFlashChipCoreAT: ; 0x020DCBA0
strh r1, [r4, #0x0]
ldrh r4, [r0, #0x0]
mov r2, #0x0
ldr r1, _020DCC8C ; =0x021D6B38
ldr r1, _020DCC8C ; =UNK_021D6B38
strh r2, [r0, #0x0]
ldr lr, _020DCC90 ; =0x0A005555
str r4, [r1, #0x0]
@@ -471,7 +479,7 @@ CTRDGi_EraseFlashChipCoreAT: ; 0x020DCBA0
strb r2, [lr, #0x0]
ldrh r2, [r0, #0x0]
ldr r2, [r1, #0x0]
ldr r1, _020DCC98 ; =0x021D6B24
ldr r1, _020DCC98 ; =UNK_021D6B24
strh r2, [r0, #0x0]
ldr r4, [r1, #0x0]
mov r0, #0x3
@@ -480,7 +488,7 @@ CTRDGi_EraseFlashChipCoreAT: ; 0x020DCBA0
and r5, r3, #0x3
blx r4
ldr r3, _020DCC80 ; =0x04000204
ldr r1, _020DCC7C ; =0x021D6B0C
ldr r1, _020DCC7C ; =UNK_021D6B0C
ldrh r2, [r3, #0x0]
mov r4, r0
bic r0, r2, #0x3
@@ -493,11 +501,11 @@ CTRDGi_EraseFlashChipCoreAT: ; 0x020DCBA0
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DCC7C: .word 0x021D6B0C
_020DCC7C: .word UNK_021D6B0C
_020DCC80: .word 0x04000204
_020DCC84: .word 0x021D6B20
_020DCC84: .word UNK_021D6B20
_020DCC88: .word 0x04000208
_020DCC8C: .word 0x021D6B38
_020DCC8C: .word UNK_021D6B38
_020DCC90: .word 0x0A005555
_020DCC94: .word 0x0A002AAA
_020DCC98: .word 0x021D6B24
_020DCC98: .word UNK_021D6B24

View File

@@ -1,6 +1,12 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D6B20
.extern UNK_021D6B24
.extern UNK_021D6B0C
.extern UNK_021D6B38
.extern UNK_021D6B08
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncLE
@@ -89,13 +95,13 @@ CTRDGi_EraseFlashChipLE: ; 0x020DCD70
arm_func_start CTRDGi_VerifyFlashErase
CTRDGi_VerifyFlashErase: ; 0x020DCD94
stmdb sp!, {r4-r6,lr}
ldr r2, _020DCE14 ; =0x021D6B0C
ldr r2, _020DCE14 ; =UNK_021D6B0C
mov r4, r0
ldrh r0, [r2, #0x0]
mov r5, r1
bl OS_LockCartridge
ldr ip, _020DCE18 ; =0x04000204
ldr r0, _020DCE1C ; =0x021D6B20
ldr r0, _020DCE1C ; =UNK_021D6B20
ldrh r3, [r12, #0x0]
ldr r0, [r0, #0x0]
ldrh r1, [r12, #0x0]
@@ -109,7 +115,7 @@ CTRDGi_VerifyFlashErase: ; 0x020DCD94
blx r5
cmp r0, #0x0
ldr r2, _020DCE18 ; =0x04000204
ldr r0, _020DCE14 ; =0x021D6B0C
ldr r0, _020DCE14 ; =UNK_021D6B0C
ldrh r1, [r2, #0x0]
ldrne r4, _020DCE20 ; =0x00008004
bic r1, r1, #0x3
@@ -121,14 +127,14 @@ CTRDGi_VerifyFlashErase: ; 0x020DCD94
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020DCE14: .word 0x021D6B0C
_020DCE14: .word UNK_021D6B0C
_020DCE18: .word 0x04000204
_020DCE1C: .word 0x021D6B20
_020DCE1C: .word UNK_021D6B20
_020DCE20: .word 0x00008004
arm_func_start CTRDGi_VerifyFlashCoreFF
CTRDGi_VerifyFlashCoreFF: ; 0x020DCE24
ldr r1, _020DCE54 ; =0x021D6B20
ldr r1, _020DCE54 ; =UNK_021D6B20
ldr r1, [r1, #0x0]
ldr r2, [r1, #0x4]
cmp r2, #0x0
@@ -143,7 +149,7 @@ _020DCE4C:
mov r0, r2
bx lr
.balign 4
_020DCE54: .word 0x021D6B20
_020DCE54: .word UNK_021D6B20
arm_func_start CTRDGi_WriteFlashSectorCoreLE
CTRDGi_WriteFlashSectorCoreLE: ; 0x020DCE58
@@ -164,7 +170,7 @@ CTRDGi_WriteFlashSectorCoreLE: ; 0x020DCE58
ldrhs r0, _020DD018 ; =0x000080FF
ldmcsia sp!, {r4-r9,lr}
bxcs lr
ldr r0, _020DD01C ; =0x021D6B20
ldr r0, _020DD01C ; =UNK_021D6B20
mov r9, #0x0
ldr r0, [r0, #0x0]
ldrh r0, [r0, #0x8]
@@ -208,16 +214,16 @@ _020DCF1C:
cmp r9, r5
bls _020DCF1C
_020DCF38:
ldr r0, _020DD024 ; =0x021D6B0C
ldr r0, _020DD024 ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r5, _020DD028 ; =0x04000204
ldr r1, _020DD01C ; =0x021D6B20
ldr r1, _020DD01C ; =UNK_021D6B20
ldrh r0, [r5, #0x0]
ldr r3, [r1, #0x0]
ldrh r2, [r5, #0x0]
ldr r3, [r3, #0x10]
ldr r7, _020DD02C ; =0x021D6B08
ldr r7, _020DD02C ; =UNK_021D6B08
bic r2, r2, #0x3
orr r2, r2, r3
strh r2, [r5, #0x0]
@@ -227,7 +233,7 @@ _020DCF38:
mov r2, #0x0
strh r1, [r7, #0x0]
ldrh r3, [r9, #0x0]
ldr r1, _020DD034 ; =0x021D6B38
ldr r1, _020DD034 ; =UNK_021D6B38
and r5, r0, #0x3
strh r2, [r9, #0x0]
ldrh r0, [r7, #0x0]
@@ -250,13 +256,13 @@ _020DCFA0:
bne _020DCFA0
_020DCFD4:
ldr r3, _020DD030 ; =0x04000208
ldr r0, _020DD034 ; =0x021D6B38
ldr r0, _020DD034 ; =UNK_021D6B38
ldrh r1, [r3, #0x0]
ldr r0, [r0, #0x0]
ldr r2, _020DD028 ; =0x04000204
strh r0, [r3, #0x0]
ldrh r1, [r2, #0x0]
ldr r0, _020DD024 ; =0x021D6B0C
ldr r0, _020DD024 ; =UNK_021D6B0C
bic r1, r1, #0x3
orr r1, r1, r5
strh r1, [r2, #0x0]
@@ -268,13 +274,13 @@ _020DCFD4:
bx lr
.balign 4
_020DD018: .word 0x000080FF
_020DD01C: .word 0x021D6B20
_020DD01C: .word UNK_021D6B20
_020DD020: .word CTRDGi_VerifyFlashCoreFF
_020DD024: .word 0x021D6B0C
_020DD024: .word UNK_021D6B0C
_020DD028: .word 0x04000204
_020DD02C: .word 0x021D6B08
_020DD02C: .word UNK_021D6B08
_020DD030: .word 0x04000208
_020DD034: .word 0x021D6B38
_020DD034: .word UNK_021D6B38
arm_func_start CTRDGi_ProgramFlashByteLE
CTRDGi_ProgramFlashByteLE: ; 0x020DD038
@@ -290,7 +296,7 @@ CTRDGi_ProgramFlashByteLE: ; 0x020DD038
mov r0, #0xa0
strb r0, [r12, #0x0]
ldrb r2, [lr, #0x0]
ldr r3, _020DD094 ; =0x021D6B24
ldr r3, _020DD094 ; =UNK_021D6B24
mov r0, #0x1
strb r2, [r1, #0x0]
ldrb r2, [lr, #0x0]
@@ -302,7 +308,7 @@ CTRDGi_ProgramFlashByteLE: ; 0x020DD038
.balign 4
_020DD08C: .word 0x0A005555
_020DD090: .word 0x0A002AAA
_020DD094: .word 0x021D6B24
_020DD094: .word UNK_021D6B24
arm_func_start CTRDGi_EraseFlashSectorCoreLE
CTRDGi_EraseFlashSectorCoreLE: ; 0x020DD098
@@ -322,11 +328,11 @@ CTRDGi_EraseFlashSectorCoreLE: ; 0x020DD098
ldrhs r0, _020DD1B8 ; =0x000080FF
ldmcsia sp!, {r4-r6,lr}
bxcs lr
ldr r0, _020DD1BC ; =0x021D6B0C
ldr r0, _020DD1BC ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r6, _020DD1C0 ; =0x04000204
ldr r1, _020DD1C4 ; =0x021D6B20
ldr r1, _020DD1C4 ; =UNK_021D6B20
ldrh r3, [r6, #0x0]
ldr r0, [r1, #0x0]
ldrh r2, [r6, #0x0]
@@ -339,7 +345,7 @@ CTRDGi_EraseFlashSectorCoreLE: ; 0x020DD098
ldrh r5, [r0, #0x0]
ldrh r12, [r1, #0x8]
mov r1, #0x0
ldr r2, _020DD1CC ; =0x021D6B38
ldr r2, _020DD1CC ; =UNK_021D6B38
strh r1, [r0, #0x0]
mov r6, r4, lsl r12
ldr lr, _020DD1D0 ; =0x0A005555
@@ -358,7 +364,7 @@ CTRDGi_EraseFlashSectorCoreLE: ; 0x020DD098
strb r4, [r1, #0x0]
ldrh r4, [r0, #0x0]
ldr r4, [r2, #0x0]
ldr r2, _020DD1D8 ; =0x021D6B24
ldr r2, _020DD1D8 ; =UNK_021D6B24
strh r4, [r0, #0x0]
ldr r4, [r2, #0x0]
mov r0, #0x2
@@ -366,7 +372,7 @@ CTRDGi_EraseFlashSectorCoreLE: ; 0x020DD098
and r5, r3, #0x3
blx r4
ldr r3, _020DD1C0 ; =0x04000204
ldr r1, _020DD1BC ; =0x021D6B0C
ldr r1, _020DD1BC ; =UNK_021D6B0C
ldrh r2, [r3, #0x0]
mov r4, r0
bic r0, r2, #0x3
@@ -380,24 +386,24 @@ CTRDGi_EraseFlashSectorCoreLE: ; 0x020DD098
bx lr
.balign 4
_020DD1B8: .word 0x000080FF
_020DD1BC: .word 0x021D6B0C
_020DD1BC: .word UNK_021D6B0C
_020DD1C0: .word 0x04000204
_020DD1C4: .word 0x021D6B20
_020DD1C4: .word UNK_021D6B20
_020DD1C8: .word 0x04000208
_020DD1CC: .word 0x021D6B38
_020DD1CC: .word UNK_021D6B38
_020DD1D0: .word 0x0A005555
_020DD1D4: .word 0x0A002AAA
_020DD1D8: .word 0x021D6B24
_020DD1D8: .word UNK_021D6B24
arm_func_start CTRDGi_EraseFlashChipCoreLE
CTRDGi_EraseFlashChipCoreLE: ; 0x020DD1DC
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r0, _020DD2B8 ; =0x021D6B0C
ldr r0, _020DD2B8 ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r4, _020DD2BC ; =0x04000204
ldr r0, _020DD2C0 ; =0x021D6B20
ldr r0, _020DD2C0 ; =UNK_021D6B20
ldrh r3, [r4, #0x0]
ldr r0, [r0, #0x0]
ldrh r1, [r4, #0x0]
@@ -408,7 +414,7 @@ CTRDGi_EraseFlashChipCoreLE: ; 0x020DD1DC
strh r1, [r4, #0x0]
ldrh r4, [r0, #0x0]
mov r2, #0x0
ldr r1, _020DD2C8 ; =0x021D6B38
ldr r1, _020DD2C8 ; =UNK_021D6B38
strh r2, [r0, #0x0]
ldr lr, _020DD2CC ; =0x0A005555
str r4, [r1, #0x0]
@@ -425,7 +431,7 @@ CTRDGi_EraseFlashChipCoreLE: ; 0x020DD1DC
strb r2, [lr, #0x0]
ldrh r2, [r0, #0x0]
ldr r2, [r1, #0x0]
ldr r1, _020DD2D4 ; =0x021D6B24
ldr r1, _020DD2D4 ; =UNK_021D6B24
strh r2, [r0, #0x0]
ldr r4, [r1, #0x0]
mov r0, #0x3
@@ -434,7 +440,7 @@ CTRDGi_EraseFlashChipCoreLE: ; 0x020DD1DC
and r5, r3, #0x3
blx r4
ldr r3, _020DD2BC ; =0x04000204
ldr r1, _020DD2B8 ; =0x021D6B0C
ldr r1, _020DD2B8 ; =UNK_021D6B0C
ldrh r2, [r3, #0x0]
mov r4, r0
bic r0, r2, #0x3
@@ -447,11 +453,11 @@ CTRDGi_EraseFlashChipCoreLE: ; 0x020DD1DC
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DD2B8: .word 0x021D6B0C
_020DD2B8: .word UNK_021D6B0C
_020DD2BC: .word 0x04000204
_020DD2C0: .word 0x021D6B20
_020DD2C0: .word UNK_021D6B20
_020DD2C4: .word 0x04000208
_020DD2C8: .word 0x021D6B38
_020DD2C8: .word UNK_021D6B38
_020DD2CC: .word 0x0A005555
_020DD2D0: .word 0x0A002AAA
_020DD2D4: .word 0x021D6B24
_020DD2D4: .word UNK_021D6B24

View File

@@ -1,6 +1,12 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D6B20
.extern UNK_021D6B24
.extern UNK_021D6B0C
.extern UNK_021D6B38
.extern UNK_021D6B08
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncMX
@@ -96,7 +102,7 @@ CTRDGi_WriteFlashSectorCoreMX: ; 0x020DD3D0
stmia r4!, {r0-r3}
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, _020DD540 ; =0x021D6B20
ldr r0, _020DD540 ; =UNK_021D6B20
ldr r1, [r5, #0x0]
ldr r0, [r0, #0x0]
str r1, [r4, #0x0]
@@ -114,11 +120,11 @@ CTRDGi_WriteFlashSectorCoreMX: ; 0x020DD3D0
addne sp, sp, #0x28
ldmneia sp!, {r4-r8,lr}
bxne lr
ldr r0, _020DD548 ; =0x021D6B0C
ldr r0, _020DD548 ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r7, _020DD54C ; =0x04000204
ldr r0, _020DD540 ; =0x021D6B20
ldr r0, _020DD540 ; =UNK_021D6B20
ldrh r3, [r7, #0x0]
ldr r2, [r0, #0x0]
ldrh r1, [r7, #0x0]
@@ -130,12 +136,12 @@ CTRDGi_WriteFlashSectorCoreMX: ; 0x020DD3D0
strh r1, [r7, #0x0]
and r7, r3, #0x3
bl CTRDGi_SetFlashBankMx
ldr r0, _020DD540 ; =0x021D6B20
ldr r0, _020DD540 ; =UNK_021D6B20
and r1, r5, #0xf
ldr r3, [r0, #0x0]
mov r0, r1, lsl #0x10
ldr r2, [r3, #0x4]
ldr r8, _020DD550 ; =0x021D6B08
ldr r8, _020DD550 ; =UNK_021D6B08
ldr r1, _020DD554 ; =0x04000208
strh r2, [r8, #0x0]
ldrh r3, [r3, #0x8]
@@ -145,7 +151,7 @@ CTRDGi_WriteFlashSectorCoreMX: ; 0x020DD3D0
mov r3, r5, lsl r3
strh r0, [r1, #0x0]
ldrh r1, [r8, #0x0]
ldr r0, _020DD558 ; =0x021D6B38
ldr r0, _020DD558 ; =UNK_021D6B38
add r5, r3, #0xa000000
str r2, [r0, #0x0]
cmp r1, #0x0
@@ -166,13 +172,13 @@ _020DD4C8:
bne _020DD4C8
_020DD4FC:
ldr r3, _020DD554 ; =0x04000208
ldr r0, _020DD558 ; =0x021D6B38
ldr r0, _020DD558 ; =UNK_021D6B38
ldrh r1, [r3, #0x0]
ldr r0, [r0, #0x0]
ldr r2, _020DD54C ; =0x04000204
strh r0, [r3, #0x0]
ldrh r1, [r2, #0x0]
ldr r0, _020DD548 ; =0x021D6B0C
ldr r0, _020DD548 ; =UNK_021D6B0C
bic r1, r1, #0x3
orr r1, r1, r7
strh r1, [r2, #0x0]
@@ -183,13 +189,13 @@ _020DD4FC:
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020DD540: .word 0x021D6B20
_020DD540: .word UNK_021D6B20
_020DD544: .word 0x000080FF
_020DD548: .word 0x021D6B0C
_020DD548: .word UNK_021D6B0C
_020DD54C: .word 0x04000204
_020DD550: .word 0x021D6B08
_020DD550: .word UNK_021D6B08
_020DD554: .word 0x04000208
_020DD558: .word 0x021D6B38
_020DD558: .word UNK_021D6B38
arm_func_start CTRDGi_ProgramFlashByteMX
CTRDGi_ProgramFlashByteMX: ; 0x020DD55C
@@ -205,7 +211,7 @@ CTRDGi_ProgramFlashByteMX: ; 0x020DD55C
mov r0, #0xa0
strb r0, [r12, #0x0]
ldrb r2, [lr, #0x0]
ldr r3, _020DD5B8 ; =0x021D6B24
ldr r3, _020DD5B8 ; =UNK_021D6B24
mov r0, #0x1
strb r2, [r1, #0x0]
ldrb r2, [lr, #0x0]
@@ -217,7 +223,7 @@ CTRDGi_ProgramFlashByteMX: ; 0x020DD55C
.balign 4
_020DD5B0: .word 0x0A005555
_020DD5B4: .word 0x0A002AAA
_020DD5B8: .word 0x021D6B24
_020DD5B8: .word UNK_021D6B24
arm_func_start CTRDGi_EraseFlashSectorCoreMX
CTRDGi_EraseFlashSectorCoreMX: ; 0x020DD5BC
@@ -229,7 +235,7 @@ CTRDGi_EraseFlashSectorCoreMX: ; 0x020DD5BC
stmia r4!, {r0-r3}
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, _020DD748 ; =0x021D6B20
ldr r0, _020DD748 ; =UNK_021D6B20
ldr r1, [r5, #0x0]
ldr r0, [r0, #0x0]
str r1, [r4, #0x0]
@@ -240,11 +246,11 @@ CTRDGi_EraseFlashSectorCoreMX: ; 0x020DD5BC
ldrhs r0, _020DD74C ; =0x000080FF
ldmcsia sp!, {r4-r11,lr}
bxcs lr
ldr r0, _020DD750 ; =0x021D6B0C
ldr r0, _020DD750 ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r5, _020DD754 ; =0x04000204
ldr r0, _020DD748 ; =0x021D6B20
ldr r0, _020DD748 ; =UNK_021D6B20
ldrh r3, [r5, #0x0]
ldr r2, [r0, #0x0]
ldrh r1, [r5, #0x0]
@@ -272,10 +278,10 @@ CTRDGi_EraseFlashSectorCoreMX: ; 0x020DD5BC
mov r4, #0x30
str r0, [sp, #0xc]
_020DD684:
ldr r0, _020DD748 ; =0x021D6B20
ldr r0, _020DD748 ; =UNK_021D6B20
ldrh r12, [r8, #0x0]
ldr r0, [r0, #0x0]
ldr r3, _020DD75C ; =0x021D6B38
ldr r3, _020DD75C ; =UNK_021D6B38
ldrh r1, [r0, #0x8]
ldr r0, [sp, #0x8]
ldr r2, [sp, #0xc]
@@ -294,10 +300,10 @@ _020DD684:
strb r6, [r3, #0x0]
strb r4, [r1, #0x0]
ldrh r3, [r8, #0x0]
ldr r3, _020DD75C ; =0x021D6B38
ldr r3, _020DD75C ; =UNK_021D6B38
ldr r3, [r3, #0x0]
strh r3, [r8, #0x0]
ldr r3, _020DD768 ; =0x021D6B24
ldr r3, _020DD768 ; =UNK_021D6B24
ldr r3, [r3, #0x0]
blx r3
str r0, [sp, #0x4]
@@ -310,7 +316,7 @@ _020DD684:
beq _020DD684
_020DD714:
ldr r2, _020DD754 ; =0x04000204
ldr r1, _020DD750 ; =0x021D6B0C
ldr r1, _020DD750 ; =UNK_021D6B0C
ldrh r0, [r2, #0x0]
bic r3, r0, #0x3
ldr r0, [sp, #0x0]
@@ -323,25 +329,25 @@ _020DD714:
ldmia sp!, {r4-r11,lr}
bx lr
.balign 4
_020DD748: .word 0x021D6B20
_020DD748: .word UNK_021D6B20
_020DD74C: .word 0x000080FF
_020DD750: .word 0x021D6B0C
_020DD750: .word UNK_021D6B0C
_020DD754: .word 0x04000204
_020DD758: .word 0x04000208
_020DD75C: .word 0x021D6B38
_020DD75C: .word UNK_021D6B38
_020DD760: .word 0x0A005555
_020DD764: .word 0x0A002AAA
_020DD768: .word 0x021D6B24
_020DD768: .word UNK_021D6B24
arm_func_start CTRDGi_EraseFlashChipCoreMX
CTRDGi_EraseFlashChipCoreMX: ; 0x020DD76C
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r0, _020DD848 ; =0x021D6B0C
ldr r0, _020DD848 ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r4, _020DD84C ; =0x04000204
ldr r0, _020DD850 ; =0x021D6B20
ldr r0, _020DD850 ; =UNK_021D6B20
ldrh r3, [r4, #0x0]
ldr r0, [r0, #0x0]
ldrh r1, [r4, #0x0]
@@ -352,7 +358,7 @@ CTRDGi_EraseFlashChipCoreMX: ; 0x020DD76C
strh r1, [r4, #0x0]
ldrh r4, [r0, #0x0]
mov r2, #0x0
ldr r1, _020DD858 ; =0x021D6B38
ldr r1, _020DD858 ; =UNK_021D6B38
strh r2, [r0, #0x0]
ldr lr, _020DD85C ; =0x0A005555
str r4, [r1, #0x0]
@@ -369,7 +375,7 @@ CTRDGi_EraseFlashChipCoreMX: ; 0x020DD76C
strb r2, [lr, #0x0]
ldrh r2, [r0, #0x0]
ldr r2, [r1, #0x0]
ldr r1, _020DD864 ; =0x021D6B24
ldr r1, _020DD864 ; =UNK_021D6B24
strh r2, [r0, #0x0]
ldr r4, [r1, #0x0]
mov r0, #0x3
@@ -378,7 +384,7 @@ CTRDGi_EraseFlashChipCoreMX: ; 0x020DD76C
and r5, r3, #0x3
blx r4
ldr r3, _020DD84C ; =0x04000204
ldr r1, _020DD848 ; =0x021D6B0C
ldr r1, _020DD848 ; =UNK_021D6B0C
ldrh r2, [r3, #0x0]
mov r4, r0
bic r0, r2, #0x3
@@ -391,11 +397,11 @@ CTRDGi_EraseFlashChipCoreMX: ; 0x020DD76C
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DD848: .word 0x021D6B0C
_020DD848: .word UNK_021D6B0C
_020DD84C: .word 0x04000204
_020DD850: .word 0x021D6B20
_020DD850: .word UNK_021D6B20
_020DD854: .word 0x04000208
_020DD858: .word 0x021D6B38
_020DD858: .word UNK_021D6B38
_020DD85C: .word 0x0A005555
_020DD860: .word 0x0A002AAA
_020DD864: .word 0x021D6B24
_020DD864: .word UNK_021D6B24

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D6B08
.extern UNK_021D6B20
.extern UNK_021D6B0C
.text
arm_func_start CTRDGi_WriteFlashSectorAsyncMX5
@@ -42,7 +46,7 @@ CTRDGi_WriteFlashSectorCoreMX5: ; 0x020DD8C0
stmia r4!, {r0-r3}
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, _020DD9E8 ; =0x021D6B20
ldr r0, _020DD9E8 ; =UNK_021D6B20
ldr r1, [r5, #0x0]
ldr r0, [r0, #0x0]
str r1, [r4, #0x0]
@@ -60,16 +64,16 @@ CTRDGi_WriteFlashSectorCoreMX5: ; 0x020DD8C0
addne sp, sp, #0x28
ldmneia sp!, {r4-r8,lr}
bxne lr
ldr r0, _020DD9F0 ; =0x021D6B0C
ldr r0, _020DD9F0 ; =UNK_021D6B0C
ldrh r0, [r0, #0x0]
bl OS_LockCartridge
ldr r7, _020DD9F4 ; =0x04000204
ldr r0, _020DD9E8 ; =0x021D6B20
ldr r0, _020DD9E8 ; =UNK_021D6B20
ldrh r3, [r7, #0x0]
ldr r2, [r0, #0x0]
ldrh r1, [r7, #0x0]
ldr r2, [r2, #0x10]
ldr r8, _020DD9F8 ; =0x021D6B08
ldr r8, _020DD9F8 ; =UNK_021D6B08
bic r1, r1, #0x3
orr r1, r1, r2
strh r1, [r7, #0x0]
@@ -99,7 +103,7 @@ _020DD984:
bne _020DD984
_020DD9B8:
ldr r2, _020DD9F4 ; =0x04000204
ldr r0, _020DD9F0 ; =0x021D6B0C
ldr r0, _020DD9F0 ; =UNK_021D6B0C
ldrh r1, [r2, #0x0]
bic r1, r1, #0x3
orr r1, r1, r7
@@ -111,8 +115,8 @@ _020DD9B8:
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020DD9E8: .word 0x021D6B20
_020DD9E8: .word UNK_021D6B20
_020DD9EC: .word 0x000080FF
_020DD9F0: .word 0x021D6B0C
_020DD9F0: .word UNK_021D6B0C
_020DD9F4: .word 0x04000204
_020DD9F8: .word 0x021D6B08
_020DD9F8: .word UNK_021D6B08

View File

@@ -1,6 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D6B14
.extern UNK_021D6B28
.extern UNK_021D6B20
.extern UNK_021D6B0C
.extern UNK_021D6B3C
.extern UNK_021D6B10
.extern UNK_021D6B38
.extern UNK_021D6B44
.text
arm_func_start CTRDG_WriteAndVerifyAgbFlashAsync
@@ -37,14 +46,14 @@ CTRDG_VerifyAgbFlash:
CTRDG_WriteAgbFlashSector:
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r2, _020DBF90 ; =0x021D6B14
ldr r2, _020DBF90 ; =UNK_021D6B14
ldr r2, [r2, #0x0]
blx r2
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020DBF90: .word 0x021D6B14
_020DBF90: .word UNK_021D6B14
arm_func_start CTRDG_ReadAgbFlash
CTRDG_ReadAgbFlash: ; 0x020DBF94
@@ -112,7 +121,7 @@ CTRDGi_VerifyAgbFlashCore: ; 0x020DC04C
stmia r4!, {r0-r3}
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, _020DC128 ; =0x021D6B0C
ldr r0, _020DC128 ; =UNK_021D6B0C
ldr r1, [r5, #0x0]
ldrh r0, [r0, #0x0]
str r1, [r4, #0x0]
@@ -121,7 +130,7 @@ CTRDGi_VerifyAgbFlashCore: ; 0x020DC04C
ldr r4, [sp, #0x18]
bl OS_LockCartridge
ldr r3, _020DC12C ; =0x04000204
ldr r0, _020DC130 ; =0x021D6B20
ldr r0, _020DC130 ; =UNK_021D6B20
ldrh r2, [r3, #0x0]
ldrh r1, [r3, #0x0]
and r7, r2, #0x3
@@ -139,7 +148,7 @@ CTRDGi_VerifyAgbFlashCore: ; 0x020DC04C
mov r0, r0, lsl #0x10
mov r6, r0, lsr #0x10
_020DC0D4:
ldr r1, _020DC130 ; =0x021D6B20
ldr r1, _020DC130 ; =UNK_021D6B20
mov r0, r5
ldr r1, [r1, #0x0]
mov r2, r4
@@ -148,7 +157,7 @@ _020DC0D4:
add r1, r1, #0xa000000
bl CTRDGi_VerifyFlashSectorCore
ldr r3, _020DC12C ; =0x04000204
ldr r1, _020DC128 ; =0x021D6B0C
ldr r1, _020DC128 ; =UNK_021D6B0C
ldrh r2, [r3, #0x0]
mov r4, r0
bic r0, r2, #0x3
@@ -161,9 +170,9 @@ _020DC0D4:
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020DC128: .word 0x021D6B0C
_020DC128: .word UNK_021D6B0C
_020DC12C: .word 0x04000204
_020DC130: .word 0x021D6B20
_020DC130: .word UNK_021D6B20
arm_func_start CTRDGi_VerifyFlashSectorCore
CTRDGi_VerifyFlashSectorCore: ; 0x020DC134
@@ -193,7 +202,7 @@ CTRDGi_ReadAgbFlashCore: ; 0x020DC168
stmia r4!, {r0-r3}
ldmia r5!, {r0-r3}
stmia r4!, {r0-r3}
ldr r0, _020DC25C ; =0x021D6B0C
ldr r0, _020DC25C ; =UNK_021D6B0C
ldr r1, [r5, #0x0]
ldrh r0, [r0, #0x0]
str r1, [r4, #0x0]
@@ -203,7 +212,7 @@ CTRDGi_ReadAgbFlashCore: ; 0x020DC168
ldr r4, [sp, #0x18]
bl OS_LockCartridge
ldr r3, _020DC260 ; =0x04000204
ldr r0, _020DC264 ; =0x021D6B20
ldr r0, _020DC264 ; =UNK_021D6B20
ldrh r2, [r3, #0x0]
ldrh r1, [r3, #0x0]
and r8, r2, #0x3
@@ -221,7 +230,7 @@ CTRDGi_ReadAgbFlashCore: ; 0x020DC168
mov r0, r0, lsl #0x10
mov r7, r0, lsr #0x10
_020DC1F4:
ldr r0, _020DC264 ; =0x021D6B20
ldr r0, _020DC264 ; =UNK_021D6B20
cmp r4, #0x0
ldr r0, [r0, #0x0]
sub r4, r4, #0x1
@@ -238,7 +247,7 @@ _020DC218:
bne _020DC218
_020DC22C:
ldr r2, _020DC260 ; =0x04000204
ldr r0, _020DC25C ; =0x021D6B0C
ldr r0, _020DC25C ; =UNK_021D6B0C
ldrh r1, [r2, #0x0]
bic r1, r1, #0x3
orr r1, r1, r8
@@ -250,9 +259,9 @@ _020DC22C:
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020DC25C: .word 0x021D6B0C
_020DC25C: .word UNK_021D6B0C
_020DC260: .word 0x04000204
_020DC264: .word 0x021D6B20
_020DC264: .word UNK_021D6B20
arm_func_start CTRDGi_PollingSR1MCOMMON
CTRDGi_PollingSR1MCOMMON: ; 0x020DC268
@@ -262,7 +271,7 @@ CTRDGi_PollingSR1MCOMMON: ; 0x020DC268
mov r6, r2
mov r5, #0x0
bl StartFlashTimer
ldr r4, _020DC318 ; =0x021D6B10
ldr r4, _020DC318 ; =UNK_021D6B10
_020DC284:
bl CheckFlashTimer
mov r0, r7
@@ -307,7 +316,7 @@ _020DC304: ; 0x020DC304
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020DC318: .word 0x021D6B10
_020DC318: .word UNK_021D6B10
_020DC31C: .word 0x0A005555
arm_func_start CTRDGi_PollingSR512kCOMMON
@@ -318,7 +327,7 @@ CTRDGi_PollingSR512kCOMMON: ; 0x020DC320
mov r7, r2
mov r6, #0x0
bl StartFlashTimer
ldr r5, _020DC3A8 ; =0x021D6B10
ldr r5, _020DC3A8 ; =UNK_021D6B10
_020DC33C:
mov r0, r8
bl CTRDGi_ReadSrFunc
@@ -332,7 +341,7 @@ _020DC33C:
_020DC360: ; 0x020DC360
cmp r7, r0
beq _020DC390
ldr r0, _020DC3AC ; =0x021D6B20
ldr r0, _020DC3AC ; =UNK_021D6B20
ldr r0, [r0, #0x0]
ldrh r0, [r0, #0x18]
cmp r0, #0xc2
@@ -351,8 +360,8 @@ _020DC394: ; 0x020DC394
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020DC3A8: .word 0x021D6B10
_020DC3AC: .word 0x021D6B20
_020DC3A8: .word UNK_021D6B10
_020DC3AC: .word UNK_021D6B20
_020DC3B0: .word 0x0A005555
arm_func_start CTRDGi_ReadSrFunc
@@ -365,7 +374,7 @@ CheckFlashTimer: ; 0x020DC3BC
stmdb sp!, {lr}
sub sp, sp, #0x4
bl OS_GetTick
ldr r3, _020DC420 ; =0x021D6B44
ldr r3, _020DC420 ; =UNK_021D6B44
ldr r2, _020DC424 ; =0x000082EA
ldr r12, [r3, #0x0]
ldr r3, [r3, #0x4]
@@ -376,49 +385,49 @@ CheckFlashTimer: ; 0x020DC3BC
mov r0, r12, lsl #0x6
mov r3, #0x0
bl _ll_udiv
ldr r2, _020DC428 ; =0x021D6B3C
ldr r2, _020DC428 ; =UNK_021D6B3C
ldr r3, [r2, #0x4]
ldr r2, [r2, #0x0]
cmp r3, r1
cmpeq r2, r0
ldrls r0, _020DC42C ; =0x021D6B10
ldrls r0, _020DC42C ; =UNK_021D6B10
movls r1, #0x1
strlsh r1, [r0, #0x0]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020DC420: .word 0x021D6B44
_020DC420: .word UNK_021D6B44
_020DC424: .word 0x000082EA
_020DC428: .word 0x021D6B3C
_020DC42C: .word 0x021D6B10
_020DC428: .word UNK_021D6B3C
_020DC42C: .word UNK_021D6B10
arm_func_start StartFlashTimer
StartFlashTimer: ; 0x020DC430
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r1, _020DC47C ; =0x021D6B28
ldr r2, _020DC480 ; =0x021D6B10
ldr r1, _020DC47C ; =UNK_021D6B28
ldr r2, _020DC480 ; =UNK_021D6B10
mov r3, #0x0
ldr r1, [r1, #0x0]
strh r3, [r2, #0x0]
mov r0, r0, lsl #0x1
ldrh r1, [r1, r0]
ldr r0, _020DC484 ; =0x021D6B3C
ldr r0, _020DC484 ; =UNK_021D6B3C
str r1, [r0, #0x0]
str r3, [r0, #0x4]
bl OS_GetTick
ldr r2, _020DC488 ; =0x021D6B44
ldr r2, _020DC488 ; =UNK_021D6B44
str r0, [r2, #0x0]
str r1, [r2, #0x4]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020DC47C: .word 0x021D6B28
_020DC480: .word 0x021D6B10
_020DC484: .word 0x021D6B3C
_020DC488: .word 0x021D6B44
_020DC47C: .word UNK_021D6B28
_020DC480: .word UNK_021D6B10
_020DC484: .word UNK_021D6B3C
_020DC488: .word UNK_021D6B44
arm_func_start CTRDGi_ReadFlashID
CTRDGi_ReadFlashID: ; 0x020DC48C
@@ -427,7 +436,7 @@ CTRDGi_ReadFlashID: ; 0x020DC48C
ldr r5, _020DC590 ; =0x04000208
mov r0, #0x0
ldrh r2, [r5, #0x0]
ldr r1, _020DC594 ; =0x021D6B38
ldr r1, _020DC594 ; =UNK_021D6B38
ldr r4, _020DC598 ; =0x0A005555
strh r0, [r5, #0x0]
str r2, [r1, #0x0]
@@ -442,7 +451,7 @@ CTRDGi_ReadFlashID: ; 0x020DC48C
ldr r1, [r1, #0x0]
strh r1, [r5, #0x0]
bl StartFlashTimer
ldr r4, _020DC5A0 ; =0x021D6B10
ldr r4, _020DC5A0 ; =UNK_021D6B10
ldrh r0, [r4, #0x0]
cmp r0, #0x0
bne _020DC4FC
@@ -461,7 +470,7 @@ _020DC4FC:
orr r4, r0, r4, lsr #0x10
ldrh r2, [r12, #0x0]
mov r0, #0x0
ldr r1, _020DC594 ; =0x021D6B38
ldr r1, _020DC594 ; =UNK_021D6B38
strh r0, [r12, #0x0]
ldr r5, _020DC598 ; =0x0A005555
str r2, [r1, #0x0]
@@ -477,7 +486,7 @@ _020DC4FC:
ldr r1, [r1, #0x0]
strh r1, [r12, #0x0]
bl StartFlashTimer
ldr r5, _020DC5A0 ; =0x021D6B10
ldr r5, _020DC5A0 ; =UNK_021D6B10
ldrh r0, [r5, #0x0]
cmp r0, #0x0
bne _020DC580
@@ -493,10 +502,10 @@ _020DC580:
bx lr
.balign 4
_020DC590: .word 0x04000208
_020DC594: .word 0x021D6B38
_020DC594: .word UNK_021D6B38
_020DC598: .word 0x0A005555
_020DC59C: .word 0x0A002AAA
_020DC5A0: .word 0x021D6B10
_020DC5A0: .word UNK_021D6B10
_020DC5A4: .word 0x0A000001
arm_func_start CTRDGi_SetFlashBankMx

View File

@@ -1,16 +1,26 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D6954
.extern UNK_021D6950
.extern UNK_021D6944
.extern UNK_021D6A20
.extern UNK_021D6958
.extern UNK_021D6964
.extern UNK_021D694C
.extern UNK_021D6948
.extern UNK_021D6960
.text
arm_func_start CTRDGi_CallbackForSetPhi
CTRDGi_CallbackForSetPhi: ; 0x020DB978
ldr r0, _020DB988 ; =0x021D694C
ldr r0, _020DB988 ; =UNK_021D694C
mov r1, #0x0
str r1, [r0, #0x0]
bx lr
.balign 4
_020DB988: .word 0x021D694C
_020DB988: .word UNK_021D694C
arm_func_start CTRDG_TerminateForPulledOut
CTRDG_TerminateForPulledOut: ; 0x020DB98C
@@ -30,13 +40,13 @@ CTRDGi_PulledOutCallback: ; 0x020DB9AC
and r0, r1, #0x3f
cmp r0, #0x11
bne _020DBA14
ldr r0, _020DBA24 ; =0x021D6954
ldr r0, _020DBA24 ; =UNK_021D6954
ldr r0, [r0, #0x0]
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {lr}
bxne lr
ldr r1, _020DBA28 ; =0x021D6958
ldr r1, _020DBA28 ; =UNK_021D6958
mov r0, #0x0
ldr r1, [r1, #0x0]
cmp r1, #0x0
@@ -47,7 +57,7 @@ _020DB9F0:
beq _020DB9FC
bl CTRDG_TerminateForPulledOut
_020DB9FC:
ldr r0, _020DBA24 ; =0x021D6954
ldr r0, _020DBA24 ; =UNK_021D6954
mov r1, #0x1
str r1, [r0, #0x0]
add sp, sp, #0x4
@@ -59,8 +69,8 @@ _020DBA14:
ldmia sp!, {lr}
bx lr
.balign 4
_020DBA24: .word 0x021D6954
_020DBA28: .word 0x021D6958
_020DBA24: .word UNK_021D6954
_020DBA28: .word UNK_021D6958
arm_func_start CTRDGi_CallbackForInitModuleInfo
CTRDGi_CallbackForInitModuleInfo: ; 0x020DBA2C
@@ -68,7 +78,7 @@ CTRDGi_CallbackForInitModuleInfo: ; 0x020DBA2C
sub sp, sp, #0x4
and r0, r1, #0x3f
cmp r0, #0x1
ldreq r0, _020DBA64 ; =0x021D6944
ldreq r0, _020DBA64 ; =UNK_021D6944
moveq r1, #0x1
streqh r1, [r0, #0x0]
addeq sp, sp, #0x4
@@ -79,13 +89,13 @@ CTRDGi_CallbackForInitModuleInfo: ; 0x020DBA2C
ldmia sp!, {lr}
bx lr
.balign 4
_020DBA64: .word 0x021D6944
_020DBA64: .word UNK_021D6944
arm_func_start CTRDGi_InitModuleInfo
CTRDGi_InitModuleInfo: ; 0x020DBA68
stmdb sp!, {r4-r7,lr}
sub sp, sp, #0x14
ldr r0, _020DBC50 ; =0x021D6948
ldr r0, _020DBC50 ; =UNK_021D6948
ldr r1, [r0, #0x0]
cmp r1, #0x0
addne sp, sp, #0x14
@@ -104,7 +114,7 @@ CTRDGi_InitModuleInfo: ; 0x020DBA68
ldr r3, _020DBC58 ; =0x04000208
mov r2, #0x1
ldrh r4, [r3, #0x0]
ldr r1, _020DBC5C ; =0x021D6944
ldr r1, _020DBC5C ; =UNK_021D6944
mov r6, r0
strh r2, [r3, #0x0]
ldrh r0, [r1, #0x2]
@@ -117,14 +127,14 @@ CTRDGi_InitModuleInfo: ; 0x020DBA68
mov r5, r1, asr #0xf
bl CTRDGi_ChangeLatestAccessCycle
ldr r3, _020DBC60 ; =0x04000204
ldr r0, _020DBC64 ; =0x021D6960
ldr r0, _020DBC64 ; =UNK_021D6960
ldrh r2, [r3, #0x0]
add r0, r0, #0x80
mov r1, #0x40
bic r2, r2, #0x8000
strh r2, [r3, #0x0]
bl DC_InvalidateRange
ldr r2, _020DBC64 ; =0x021D6960
ldr r2, _020DBC64 ; =UNK_021D6960
ldr r1, _020DBC68 ; =0x08000080
mov r0, #0x1
mov r3, #0x40
@@ -137,7 +147,7 @@ CTRDGi_InitModuleInfo: ; 0x020DBA68
orr r1, r1, r5, lsl #0xf
strh r1, [r2, #0x0]
bl CTRDGi_RestoreAccessCycle
ldr r0, _020DBC5C ; =0x021D6944
ldr r0, _020DBC5C ; =UNK_021D6944
add r1, sp, #0x0
ldrh r0, [r0, #0x2]
bl CTRDGi_UnlockByProcessor
@@ -150,7 +160,7 @@ CTRDGi_InitModuleInfo: ; 0x020DBA68
cmp r0, #0x0
bne _020DBBDC
_020DBB70:
ldr r2, _020DBC64 ; =0x021D6960
ldr r2, _020DBC64 ; =UNK_021D6960
ldr r0, _020DBC74 ; =0x027FFC30
ldrh r1, [r2, #0xbe]
mov r3, #0x0
@@ -181,17 +191,17 @@ _020DBBBC: ; 0x020DBBBC
strb r1, [r0, #0x0]
_020DBBDC:
ldr r0, _020DBC78 ; =0xFFFF0020
ldr r1, _020DBC7C ; =0x021D6964
ldr r1, _020DBC7C ; =UNK_021D6964
mov r2, #0x9c
bl MIi_CpuCopy32
bl DC_FlushAll
ldr r0, _020DBC64 ; =0x021D6960
ldr r0, _020DBC64 ; =UNK_021D6960
add r0, r0, #0xfe000000
mov r0, r0, lsr #0x5
mov r0, r0, lsl #0x6
orr r0, r0, #0x1
bl CTRDGi_SendtoPxi
ldr r5, _020DBC5C ; =0x021D6944
ldr r5, _020DBC5C ; =UNK_021D6944
ldrh r0, [r5, #0x0]
cmp r0, #0x1
beq _020DBC30
@@ -212,24 +222,24 @@ _020DBC30:
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020DBC50: .word 0x021D6948
_020DBC50: .word UNK_021D6948
_020DBC54: .word 0x04000300
_020DBC58: .word 0x04000208
_020DBC5C: .word 0x021D6944
_020DBC5C: .word UNK_021D6944
_020DBC60: .word 0x04000204
_020DBC64: .word 0x021D6960
_020DBC64: .word UNK_021D6960
_020DBC68: .word 0x08000080
_020DBC6C: .word 0x027FFF9B
_020DBC70: .word 0x027FFF9A
_020DBC74: .word 0x027FFC30
_020DBC78: .word 0xFFFF0020
_020DBC7C: .word 0x021D6964
_020DBC7C: .word UNK_021D6964
arm_func_start CTRDG_Init
CTRDG_Init: ; 0x020DBC80
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r0, _020DBD34 ; =0x021D6950
ldr r0, _020DBD34 ; =UNK_021D6950
ldr r1, [r0, #0x0]
cmp r1, #0x0
addne sp, sp, #0x4
@@ -238,7 +248,7 @@ CTRDG_Init: ; 0x020DBC80
mov r1, #0x1
str r1, [r0, #0x0]
bl CTRDGi_InitCommon
ldr r0, _020DBD38 ; =0x021D6954
ldr r0, _020DBD38 ; =UNK_021D6954
mov r1, #0x0
str r1, [r0, #0x0]
bl PXI_Init
@@ -261,9 +271,9 @@ _020DBCD0: ; 0x020DBCD0
ldr r1, _020DBD40 ; =CTRDGi_PulledOutCallback
mov r0, #0xd
bl PXI_SetFifoRecvCallback
ldr r1, _020DBD44 ; =0x021D6958
ldr r1, _020DBD44 ; =UNK_021D6958
mov r2, #0x0
ldr r0, _020DBD48 ; =0x021D6A20
ldr r0, _020DBD48 ; =UNK_021D6A20
str r2, [r1, #0x0]
bl CTRDGi_InitTaskThread
ldr r1, _020DBD4C ; =CTRDGi_CallbackForSetPhi
@@ -276,10 +286,10 @@ _020DBD20: ; 0x020DBD20
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DBD34: .word 0x021D6950
_020DBD38: .word 0x021D6954
_020DBD34: .word UNK_021D6950
_020DBD38: .word UNK_021D6954
_020DBD3C: .word CTRDGi_CallbackForInitModuleInfo
_020DBD40: .word CTRDGi_PulledOutCallback
_020DBD44: .word 0x021D6958
_020DBD48: .word 0x021D6A20
_020DBD44: .word UNK_021D6958
_020DBD48: .word UNK_021D6A20
_020DBD4C: .word CTRDGi_CallbackForSetPhi

View File

@@ -1,13 +1,17 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D6B54
.extern UNK_021D6F78
.extern UNK_021D6B50
.text
arm_func_start CTRDGi_SetTask
CTRDGi_SetTask: ; 0x020DD9FC
stmdb sp!, {r4-r7,lr}
sub sp, sp, #0x4
ldr r3, _020DDAA8 ; =0x021D6B50
ldr r3, _020DDAA8 ; =UNK_021D6B50
mov r7, r0
mov r4, r1
mov r6, r2
@@ -18,7 +22,7 @@ _020DDA1C: ; 0x020DDA1C
bne _020DDA28
bl OS_Terminate
_020DDA28:
ldr r0, _020DDAAC ; =0x021D6B54
ldr r0, _020DDAAC ; =UNK_021D6B54
ldrb r0, [r0, #0x22]
cmp r0, #0x0
beq _020DDA3C
@@ -31,11 +35,11 @@ _020DDA3C:
add r1, r5, #0xc4
cmp r7, r1
mov r4, r0
ldreq r0, _020DDAA8 ; =0x021D6B50
ldreq r0, _020DDAA8 ; =UNK_021D6B50
str r6, [r7, #0x4]
moveq r1, #0x0
streq r1, [r0, #0x0]
ldr ip, _020DDAAC ; =0x021D6B54
ldr ip, _020DDAAC ; =UNK_021D6B54
ldmia r7!, {r0-r3}
mov r6, r12
stmia r12!, {r0-r3}
@@ -52,15 +56,15 @@ _020DDA3C:
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020DDAA8: .word 0x021D6B50
_020DDAAC: .word 0x021D6B54
_020DDAA8: .word UNK_021D6B50
_020DDAAC: .word UNK_021D6B54
arm_func_start CTRDGi_TaskThread
CTRDGi_TaskThread: ; 0x020DDAB0
stmdb sp!, {r4-r10,lr}
sub sp, sp, #0x28
ldr r6, _020DDB94 ; =0x021D6B54
ldr r5, _020DDB98 ; =0x021D6B50
ldr r6, _020DDB94 ; =UNK_021D6B54
ldr r5, _020DDB98 ; =UNK_021D6B50
mov r4, r0
add r9, sp, #0x0
mov r8, #0x0
@@ -121,8 +125,8 @@ _020DDB84:
ldmia sp!, {r4-r10,lr}
bx lr
.balign 4
_020DDB94: .word 0x021D6B54
_020DDB98: .word 0x021D6B50
_020DDB94: .word UNK_021D6B54
_020DDB98: .word UNK_021D6B50
arm_func_start CTRDGi_InitTaskInfo
CTRDGi_InitTaskInfo:
@@ -135,14 +139,14 @@ _020DDBAC: .word MI_CpuFill8
arm_func_start CTRDGi_IsTaskAvailable
CTRDGi_IsTaskAvailable:
ldr r0, _020DDBC8 ; =0x021D6B50
ldr r0, _020DDBC8 ; =UNK_021D6B50
ldr r0, [r0, #0x0]
cmp r0, #0x0
movne r0, #0x1
moveq r0, #0x0
bx lr
.balign 4
_020DDBC8: .word 0x021D6B50
_020DDBC8: .word UNK_021D6B50
arm_func_start CTRDGi_InitTaskThread
CTRDGi_InitTaskThread: ; 0x020DDBCC
@@ -150,7 +154,7 @@ CTRDGi_InitTaskThread: ; 0x020DDBCC
sub sp, sp, #0xc
mov r5, r0
bl OS_DisableInterrupts
ldr r1, _020DDC4C ; =0x021D6B50
ldr r1, _020DDC4C ; =UNK_021D6B50
mov r4, r0
ldr r0, [r1, #0x0]
cmp r0, #0x0
@@ -158,14 +162,14 @@ CTRDGi_InitTaskThread: ; 0x020DDBCC
add r0, r5, #0xc4
str r5, [r1, #0x0]
bl CTRDGi_InitTaskInfo
ldr r0, _020DDC50 ; =0x021D6B54
ldr r0, _020DDC50 ; =UNK_021D6B54
bl CTRDGi_InitTaskInfo
_020DDC04: ; 0x020DDC04
mov r0, #0x0
str r0, [r5, #0xc0]
mov r2, #0x400
ldr r1, _020DDC54 ; =CTRDGi_TaskThread
ldr r3, _020DDC58 ; =0x021D6F78
ldr r3, _020DDC58 ; =UNK_021D6F78
mov r0, r5
str r2, [sp, #0x0]
mov r2, #0x14
@@ -181,7 +185,7 @@ _020DDC38:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020DDC4C: .word 0x021D6B50
_020DDC50: .word 0x021D6B54
_020DDC4C: .word UNK_021D6B50
_020DDC50: .word UNK_021D6B54
_020DDC54: .word CTRDGi_TaskThread
_020DDC58: .word 0x021D6F78
_020DDC58: .word UNK_021D6F78

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern Unk_02106900
.extern Unk_0210683C
.extern Unk_02106840
.text
arm_func_start ProcessBlock
@@ -12,7 +16,7 @@ ProcessBlock: ; 0x020D2798
ldr r4, [r0, #0x4]
ldr lr, [r0, #0x8]
ldr r12, [r0, #0xc]
ldr r2, _020D2B78 ; =0x02106900
ldr r2, _020D2B78 ; =Unk_02106900
mov r8, r3
mov r7, #0x0
_020D27C0:
@@ -71,7 +75,7 @@ _020D27C0:
add r7, r7, #0x1
cmp r7, #0x4
blt _020D27C0
ldr r6, _020D2B7C ; =0x02106840
ldr r6, _020D2B7C ; =Unk_02106840
mov r1, #0x0
_020D28A4:
mvn r7, r12
@@ -258,8 +262,8 @@ _020D2A60:
ldmia sp!, {r4-r11,lr}
bx lr
.balign 4
_020D2B78: .word Unk_02106900 ; = 0x02106900
_020D2B7C: .word Unk_02106840 ; = 0x02106840
_020D2B78: .word Unk_02106900 ; = Unk_02106900
_020D2B7C: .word Unk_02106840 ; = Unk_02106840
arm_func_start DGT_Hash1GetDigest_R
DGT_Hash1GetDigest_R: ; 0x020D2B80
@@ -270,7 +274,7 @@ DGT_Hash1GetDigest_R: ; 0x020D2B80
ldr r3, [r6, #0x10]
mov r7, r0
mov r4, r1, lsl #0x3
ldr r1, _020D2C40 ; =0x0210683C
ldr r1, _020D2C40 ; =Unk_0210683C
mov r0, r6
mov r2, #0x1
orr r4, r4, r3, lsr #0x1d
@@ -314,7 +318,7 @@ _020D2C04:
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020D2C40: .word Unk_0210683C ; = 0x0210683C
_020D2C40: .word Unk_0210683C ; = Unk_0210683C
arm_func_start DGT_Hash1SetSource
DGT_Hash1SetSource: ; 0x020D2C44

View File

@@ -1,13 +1,16 @@
.include "asm/macros.inc"
.include "global.inc"
.extern Unk_02106A04
.extern Unk_02106A00
.text
arm_func_start DGT_Hash2CalcHmac
DGT_Hash2CalcHmac: ; 0x020D2D78
stmdb sp!, {r4-r8,lr}
sub sp, sp, #0xa0
ldr lr, _020D2E00 ; =0x02106A04
ldr lr, _020D2E00 ; =Unk_02106A04
add r12, sp, #0x1c
mov r8, r0
mov r7, r1
@@ -40,7 +43,7 @@ DGT_Hash2CalcHmac: ; 0x020D2D78
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020D2E00: .word Unk_02106A04 ; = 0x02106A04
_020D2E00: .word Unk_02106A04 ; = Unk_02106A04
_020D2E04: .word DGT_Hash2Reset
_020D2E08: .word DGT_Hash2SetSource
_020D2E0C: .word DGT_Hash2GetDigest
@@ -85,7 +88,7 @@ _020D2E88:
cmp r0, #0x10
blt _020D2E88
_020D2E98:
ldr r1, _020D3008 ; =0x02106A00
ldr r1, _020D3008 ; =Unk_02106A00
ldr r0, [sp, #0x10]
ldr r3, [r1, #0x0]
mov r1, r5
@@ -105,7 +108,7 @@ _020D2ED0:
ldr r0, [sp, #0x10]
mov r1, r5
ldr r2, [r0, #0x14]
ldr r3, _020D3008 ; =0x02106A00
ldr r3, _020D3008 ; =Unk_02106A00
strb r2, [r4, #0x3f]
mov r0, r2, lsr #0x8
strb r0, [r4, #0x3e]
@@ -181,7 +184,7 @@ _020D2ED0:
add sp, sp, #0x10
bx lr
.balign 4
_020D3008: .word Unk_02106A00 ; = 0x02106A00
_020D3008: .word Unk_02106A00 ; = Unk_02106A00
arm_func_start DGT_Hash2SetSource
DGT_Hash2SetSource: ; 0x020D300C
@@ -213,7 +216,7 @@ DGT_Hash2SetSource: ; 0x020D300C
mov r2, r4
add r1, r5, r1
bl MI_CpuCopy8
ldr r1, _020D3164 ; =0x02106A00
ldr r1, _020D3164 ; =Unk_02106A00
mov r0, r8
ldr r3, [r1, #0x0]
mov r1, r5
@@ -241,7 +244,7 @@ _020D30CC:
sub r6, r6, r4
ands r0, r7, #0x3
bne _020D3104
ldr r1, _020D3164 ; =0x02106A00
ldr r1, _020D3164 ; =Unk_02106A00
mov r0, r8
ldr r3, [r1, #0x0]
mov r1, r7
@@ -254,7 +257,7 @@ _020D3104:
mov r1, r5
mov r2, #0x40
bl MI_CpuCopy8
ldr r1, _020D3164 ; =0x02106A00
ldr r1, _020D3164 ; =Unk_02106A00
mov r0, r8
ldr r3, [r1, #0x0]
mov r1, r5
@@ -276,7 +279,7 @@ _020D313C:
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020D3164: .word Unk_02106A00 ; = 0x02106A00
_020D3164: .word Unk_02106A00 ; = Unk_02106A00
arm_func_start DGT_Hash2Reset
DGT_Hash2Reset: ; 0x020D3168

View File

@@ -1,13 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D37FC
.text
arm_func_start MIi_DMAFastCallback
MIi_DMAFastCallback: ; 0x020CDE78
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r0, _020CDEB4 ; =0x021D37FC
ldr r0, _020CDEB4 ; =UNK_021D37FC
mov r2, #0x0
ldr r1, [r0, #0x10]
str r2, [r0, #0x0]
@@ -21,7 +23,7 @@ MIi_DMAFastCallback: ; 0x020CDE78
ldmia sp!, {lr}
bx lr
.balign 4
_020CDEB4: .word 0x021D37FC
_020CDEB4: .word UNK_021D37FC
arm_func_start MI_SendGXCommandAsyncFast
MI_SendGXCommandAsyncFast: ; 0x020CDEB8
@@ -38,7 +40,7 @@ MI_SendGXCommandAsyncFast: ; 0x020CDEB8
ldmia sp!, {r4-r6,lr}
bx lr
_020CDEE8:
ldr r2, _020CDF6C ; =0x021D37FC
ldr r2, _020CDF6C ; =UNK_021D37FC
ldr r0, [r2, #0x0]
cmp r0, #0x0
bne _020CDEE8
@@ -72,7 +74,7 @@ _020CDEE8:
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020CDF6C: .word 0x021D37FC
_020CDF6C: .word UNK_021D37FC
_020CDF70: .word MIi_DMAFastCallback
_020CDF74: .word 0x04000400
@@ -83,7 +85,7 @@ MIi_DMACallback: ; 0x020CDF78
mov r0, #0x200000
bl OS_DisableIrqMask
ldr r2, _020CDFE4 ; =0x04000600
ldr r0, _020CDFE8 ; =0x021D37FC
ldr r0, _020CDFE8 ; =UNK_021D37FC
ldr r1, [r2, #0x0]
ldr r3, [r0, #0x18]
bic r1, r1, #0xc0000000
@@ -92,7 +94,7 @@ MIi_DMACallback: ; 0x020CDF78
ldr r1, [r0, #0x1c]
mov r0, #0x200000
bl OS_SetIrqFunction
ldr r0, _020CDFE8 ; =0x021D37FC
ldr r0, _020CDFE8 ; =UNK_021D37FC
mov r2, #0x0
ldr r1, [r0, #0x10]
str r2, [r0, #0x0]
@@ -107,19 +109,19 @@ MIi_DMACallback: ; 0x020CDF78
bx lr
.balign 4
_020CDFE4: .word 0x04000600
_020CDFE8: .word 0x021D37FC
_020CDFE8: .word UNK_021D37FC
arm_func_start MIi_FIFOCallback
MIi_FIFOCallback: ; 0x020CDFEC
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r0, _020CE0A4 ; =0x021D37FC
ldr r0, _020CE0A4 ; =UNK_021D37FC
ldr r4, [r0, #0xc]
cmp r4, #0x0
addeq sp, sp, #0x4
ldmeqia sp!, {r4-r5,lr}
bxeq lr
ldr r0, _020CE0A4 ; =0x021D37FC
ldr r0, _020CE0A4 ; =UNK_021D37FC
cmp r4, #0x1d8
ldr r5, [r0, #0x8]
movcs r4, #0x1d8
@@ -135,7 +137,7 @@ MIi_FIFOCallback: ; 0x020CDFEC
bl OSi_EnterDmaCallback
mov r0, #0x3bc00000
rsb r3, r0, #0x0
ldr r1, _020CE0A4 ; =0x021D37FC
ldr r1, _020CE0A4 ; =UNK_021D37FC
ldr r2, _020CE0AC ; =0x04000400
ldr r0, [r1, #0x4]
mov r1, r5
@@ -159,7 +161,7 @@ _020CE078:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020CE0A4: .word 0x021D37FC
_020CE0A4: .word UNK_021D37FC
_020CE0A8: .word MIi_DMACallback
_020CE0AC: .word 0x04000400
_020CE0B0: .word 0x84400000
@@ -181,7 +183,7 @@ MI_SendGXCommandAsync: ; 0x020CE0B4
ldmia sp!, {r4-r5,lr}
bx lr
_020CE0EC:
ldr r0, _020CE1BC ; =0x021D37FC
ldr r0, _020CE1BC ; =UNK_021D37FC
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _020CE0EC
@@ -192,7 +194,7 @@ _020CE100:
mov r0, r0, lsr #0x18
ands r0, r0, #0x2
beq _020CE100
ldr ip, _020CE1BC ; =0x021D37FC
ldr ip, _020CE1BC ; =UNK_021D37FC
ldr lr, [sp, #0x10]
str r3, [r12, #0x10]
mov r5, #0x1
@@ -210,13 +212,13 @@ _020CE100:
ldr r1, _020CE1C0 ; =0x04000600
mov r4, r0
ldr r0, [r1, #0x0]
ldr r1, _020CE1BC ; =0x021D37FC
ldr r1, _020CE1BC ; =UNK_021D37FC
and r0, r0, #0xc0000000
mov r2, r0, lsr #0x1e
mov r0, #0x200000
str r2, [r1, #0x18]
bl OS_GetIrqFunction
ldr r1, _020CE1BC ; =0x021D37FC
ldr r1, _020CE1BC ; =UNK_021D37FC
ldr r2, _020CE1C0 ; =0x04000600
str r0, [r1, #0x1c]
ldr r0, [r2, #0x0]
@@ -235,6 +237,6 @@ _020CE100:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020CE1BC: .word 0x021D37FC
_020CE1BC: .word UNK_021D37FC
_020CE1C0: .word 0x04000600
_020CE1C4: .word MIi_FIFOCallback

View File

@@ -31,6 +31,10 @@ OS_IRQTable: ; 027E0000 ;10b6a0
.section .bss
.space 0x20
.extern UNK_021D3420
.extern OSi_IrqCallbackInfoIndex
.extern UNK_021D3424
.section .text
arm_func_start OSi_IrqTimer3
@@ -104,7 +108,7 @@ OSi_IrqCallback: ; 0x020C9D0C
mov r1, #0xc
mul r4, r0, r1
ldr r2, _020C9D94 ; =OSi_IrqCallbackInfo
ldr r3, _020C9D98 ; =0x02106818
ldr r3, _020C9D98 ; =OSi_IrqCallbackInfoIndex
mov r0, r0, lsl #0x1
ldr r1, [r2, r4]
ldrh r3, [r3, r0]
@@ -114,12 +118,12 @@ OSi_IrqCallback: ; 0x020C9D0C
cmp r1, #0x0
mov r5, r5, lsl r3
beq _020C9D54
ldr r0, _020C9D9C ; =0x021D3424
ldr r0, _020C9D9C ; =UNK_021D3424
ldr r0, [r0, r4]
blx r1
_020C9D54:
ldr r0, _020C9DA0 ; =0x027E0000
ldr r1, _020C9DA4 ; =0x021D3420
ldr r1, _020C9DA4 ; =UNK_021D3420
add r0, r0, #0x3000
ldr r2, [r0, #0xff8]
orr r2, r2, r5

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D349C
.extern OSi_LauncherThread
.extern OSi_SystemCallbackInSwitchThread
.text
arm_func_start OS_IsThreadAvailable
@@ -624,7 +628,7 @@ OS_InitThread: ; 0x020CB684
ldmneia sp!, {r4-r6,lr}
bxne lr
ldr ip, _020CB7A8 ; =0x00000000
ldr r1, _020CB7AC ; =0x021D3568
ldr r1, _020CB7AC ; =OSi_LauncherThread
mov lr, #0x0
ldr r0, _020CB7B0 ; =OSi_ThreadInfo
mov r6, #0x1
@@ -645,11 +649,11 @@ OS_InitThread: ; 0x020CB684
subgt r0, r1, r0
subgt r4, r0, r12
ldr r1, _020CB7B8 ; =0x027E0000
ldr r5, _020CB7C0 ; =0x021D349C
ldr r5, _020CB7C0 ; =UNK_021D349C
ldr r2, _020CB7C4 ; =OSi_CurrentThreadPtr
ldr r0, _020CB7BC ; =0x00000400
str r5, [r2, #0x0]
ldr r2, _020CB7AC ; =0x021D3568
ldr r2, _020CB7AC ; =OSi_LauncherThread
add r1, r1, #0x3f80
str r6, [r3, #0x0]
sub r3, r1, r0
@@ -746,7 +750,7 @@ _020CB864:
ldmneia sp!, {r4-r6,lr}
bxne lr
_020CB870:
ldr r0, _020CB8C8 ; =0x021D348C
ldr r0, _020CB8C8 ; =OSi_SystemCallbackInSwitchThread
ldr r2, [r0, #0x0]
cmp r2, #0x0
beq _020CB88C

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D5364
.extern UNK_021D5368
.text
arm_func_start PXIi_HandlerRecvFifoNotEmpty
@@ -8,7 +11,7 @@ PXIi_HandlerRecvFifoNotEmpty: ; 0x020CFBBC
stmdb sp!, {r4-r10,lr}
sub sp, sp, #0x8
ldr sl, _020CFCD4 ; =0x04000184
ldr r5, _020CFCD8 ; =0x021D5368
ldr r5, _020CFCD8 ; =UNK_021D5368
ldr r4, _020CFCDC ; =0x04000188
mov r7, #0x4100000
mov r6, #0x0
@@ -82,7 +85,7 @@ _020CFCC8:
ldmia sp!, {r4-r10, lr}
bx lr
_020CFCD4: .word 0x04000184
_020CFCD8: .word 0x021D5368
_020CFCD8: .word UNK_021D5368
_020CFCDC: .word 0x04000188
arm_func_start PXI_SendWordByFifo
@@ -156,7 +159,7 @@ PXI_SetFifoRecvCallback: ; 0x020CFDBC
mov r4, r0
mov r5, r1
bl OS_DisableInterrupts
ldr r1, _020CFE20 ; =0x021D5368
ldr r1, _020CFE20 ; =UNK_021D5368
cmp r5, #0x0
str r5, [r1, r4, lsl #0x2]
beq _020CFDF8
@@ -179,7 +182,7 @@ _020CFE10:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020CFE20: .word 0x021D5368
_020CFE20: .word UNK_021D5368
_020CFE24: .word 0x027FFC00
arm_func_start PXI_InitFifo
@@ -187,7 +190,7 @@ PXI_InitFifo: ; 0x020CFE28
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
bl OS_DisableInterrupts
ldr r1, _020CFF18 ; =0x021D5364
ldr r1, _020CFF18 ; =UNK_021D5364
mov r4, r0
ldrh r0, [r1, #0x0]
cmp r0, #0x0
@@ -197,7 +200,7 @@ PXI_InitFifo: ; 0x020CFE28
strh r2, [r1, #0x0]
mov r2, #0x0
str r2, [r0, #0x388]
ldr r0, _020CFF20 ; =0x021D5368
ldr r0, _020CFF20 ; =UNK_021D5368
mov r1, r2
_020CFE64:
str r1, [r0, r2, lsl #0x2]
@@ -251,9 +254,9 @@ _020CFF04:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020CFF18: .word 0x021D5364
_020CFF18: .word UNK_021D5364
_020CFF1C: .word 0x027FFC00
_020CFF20: .word 0x021D5368
_020CFF20: .word UNK_021D5368
_020CFF24: .word 0x0000C408
_020CFF28: .word 0x04000184
_020CFF2C: .word PXIi_HandlerRecvFifoNotEmpty

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02106A20
.extern UNK_02106A1C
.text
arm_func_start RTC_GetDayOfWeek
@@ -202,7 +205,7 @@ _020D64D0:
_020D6514:
sub r1, r1, #0x1
_020D6518:
ldr r3, _020D6574 ; =0x02106A20
ldr r3, _020D6574 ; =UNK_02106A20
mov r4, #0xb
_020D6520:
ldr r2, [r3, r4, lsl #0x2]
@@ -228,7 +231,7 @@ _020D6564: .word 0x92492493
_020D6568: .word 0x00000007
_020D656C: .word 0x0000016D
_020D6570: .word 0x0000016E
_020D6574: .word 0x02106A20
_020D6574: .word UNK_02106A20
arm_func_start RTC_ConvertDateTimeToSecond
RTC_ConvertDateTimeToSecond: ; 0x020D6578
@@ -301,7 +304,7 @@ _020D665C:
mvn r0, #0x0
bx lr
_020D6664:
ldr r0, _020D6698 ; =0x02106A1C
ldr r0, _020D6698 ; =UNK_02106A1C
sub r1, r1, #0x1
ldr r0, [r0, r2, lsl #0x2]
cmp r2, #0x3
@@ -316,5 +319,5 @@ _020D6684:
add r0, r0, r1, lsr #0x2
bx lr
.balign 4
_020D6698: .word 0x02106A1C
_020D6698: .word UNK_02106A1C
_020D669C: .word 0x0000016D

View File

@@ -1,26 +1,29 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D5534
.extern UNK_021D5538
.text
arm_func_start RtcWaitBusy
RtcWaitBusy: ; 0x020D5914
ldr ip, _020D5928 ; =0x021D5538
ldr ip, _020D5928 ; =UNK_021D5538
_020D5918:
ldr r0, [r12, #0x0]
cmp r0, #0x1
beq _020D5918
bx lr
.balign 4
_020D5928: .word 0x021D5538
_020D5928: .word UNK_021D5538
arm_func_start RtcGetResultCallback
RtcGetResultCallback: ; 0x020D592C
ldr r1, _020D5938 ; =0x021D5538
ldr r1, _020D5938 ; =UNK_021D5538
str r0, [r1, #0x20]
bx lr
.balign 4
_020D5938: .word 0x021D5538
_020D5938: .word UNK_021D5538
arm_func_start RtcBCD2HEX
RtcBCD2HEX: ; 0x020D593C
@@ -66,14 +69,14 @@ RtcCommonCallback: ; 0x020D59C0
sub sp, sp, #0x4
cmp r2, #0x0
beq _020D5A30
ldr r0, _020D5F30 ; =0x021D5538
ldr r2, _020D5F30 ; =0x021D5538
ldr r0, _020D5F30 ; =UNK_021D5538
ldr r2, _020D5F30 ; =UNK_021D5538
ldr r1, [r0, #0x18]
ldr r4, [r2, #0x4]
cmp r1, #0x0
movne r1, #0x0
strne r1, [r0, #0x18]
ldr r0, _020D5F30 ; =0x021D5538
ldr r0, _020D5F30 ; =UNK_021D5538
ldr r1, [r0, #0x0]
cmp r1, #0x0
movne r1, #0x0
@@ -97,7 +100,7 @@ _020D5A30:
cmp r0, #0x30
and r2, r1, #0xff
bne _020D5A70
ldr r0, _020D5F30 ; =0x021D5538
ldr r0, _020D5F30 ; =UNK_021D5538
ldr r0, [r0, #0x1c]
cmp r0, #0x0
addeq sp, sp, #0x4
@@ -110,7 +113,7 @@ _020D5A30:
_020D5A70:
cmp r2, #0x0
bne _020D5E88
ldr r0, _020D5F30 ; =0x021D5538
ldr r0, _020D5F30 ; =UNK_021D5538
mov r5, #0x0
ldr r1, [r0, #0x14]
cmp r1, #0xf
@@ -215,7 +218,7 @@ _020D5B74:
ldr r1, _020D5F38 ; =0x027FFDEC
str r0, [r4, #0xc]
ldr r0, [r1, #0x0]
ldr r1, _020D5F30 ; =0x021D5538
ldr r1, _020D5F30 ; =UNK_021D5538
mov r0, r0, lsl #0x1a
mov r0, r0, lsr #0x1a
ldr r4, [r1, #0xc]
@@ -324,7 +327,7 @@ _020D5D14:
_020D5D64: ; 0x020D5D64
cmp r0, #0x0
moveq r1, r5
ldreq r0, _020D5F30 ; =0x021D5538
ldreq r0, _020D5F30 ; =UNK_021D5538
moveq r5, #0x3
streq r1, [r0, #0x18]
b _020D5ED0
@@ -343,7 +346,7 @@ _020D5D7C:
_020D5DA8: ; 0x020D5DA8
cmp r0, #0x0
moveq r1, r5
ldreq r0, _020D5F30 ; =0x021D5538
ldreq r0, _020D5F30 ; =UNK_021D5538
moveq r5, #0x3
streq r1, [r0, #0x18]
b _020D5ED0
@@ -372,7 +375,7 @@ _020D5DC8:
_020D5E10: ; 0x020D5E10
cmp r0, #0x0
moveq r1, r5
ldreq r0, _020D5F30 ; =0x021D5538
ldreq r0, _020D5F30 ; =UNK_021D5538
moveq r5, #0x3
streq r1, [r0, #0x18]
b _020D5ED0
@@ -391,7 +394,7 @@ _020D5E28:
_020D5E54: ; 0x020D5E54
cmp r0, #0x0
moveq r1, r5
ldreq r0, _020D5F30 ; =0x021D5538
ldreq r0, _020D5F30 ; =UNK_021D5538
moveq r5, #0x3
streq r1, [r0, #0x18]
b _020D5ED0
@@ -399,13 +402,13 @@ _020D5E6C:
str r5, [r0, #0x18]
b _020D5ED0
_020D5E74:
ldr r0, _020D5F30 ; =0x021D5538
ldr r0, _020D5F30 ; =UNK_021D5538
mov r1, #0x0
str r1, [r0, #0x18]
mov r5, #0x4
b _020D5ED0
_020D5E88:
ldr r0, _020D5F30 ; =0x021D5538
ldr r0, _020D5F30 ; =UNK_021D5538
mov r1, #0x0
str r1, [r0, #0x18]
cmp r2, #0x4
@@ -433,13 +436,13 @@ _020D5EC4:
_020D5ECC:
mov r5, #0x6
_020D5ED0:
ldr r0, _020D5F30 ; =0x021D5538
ldr r0, _020D5F30 ; =UNK_021D5538
ldr r1, [r0, #0x18]
cmp r1, #0x0
addne sp, sp, #0x4
ldmneia sp!, {r4-r5,lr}
bxne lr
ldr r2, _020D5F30 ; =0x021D5538
ldr r2, _020D5F30 ; =UNK_021D5538
ldr r1, [r0, #0x0]
ldr r4, [r2, #0x4]
cmp r1, #0x0
@@ -458,7 +461,7 @@ _020D5ED0:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D5F30: .word 0x021D5538
_020D5F30: .word UNK_021D5538
_020D5F34: .word 0x027FFDE8
_020D5F38: .word 0x027FFDEC
_020D5F3C: .word 0x027FFDEA
@@ -472,7 +475,7 @@ RTC_GetDateTimeAsync: ; 0x020D5F40
mov r5, r2
mov r4, r3
bl OS_DisableInterrupts
ldr r1, _020D5FCC ; =0x021D5538
ldr r1, _020D5FCC ; =UNK_021D5538
ldr r2, [r1, #0x0]
cmp r2, #0x0
beq _020D5F80
@@ -485,7 +488,7 @@ _020D5F80:
mov r2, #0x1
str r2, [r1, #0x0]
bl OS_RestoreInterrupts
ldr r0, _020D5FCC ; =0x021D5538
ldr r0, _020D5FCC ; =UNK_021D5538
mov r2, #0x2
mov r1, #0x0
str r2, [r0, #0x14]
@@ -503,7 +506,7 @@ _020D5FB4: ; 0x020D5FB4
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020D5FCC: .word 0x021D5538
_020D5FCC: .word UNK_021D5538
arm_func_start RTC_GetTime
RTC_GetTime: ; 0x020D5FD0
@@ -512,20 +515,20 @@ RTC_GetTime: ; 0x020D5FD0
ldr r1, _020D600C ; =RtcGetResultCallback
mov r2, #0x0
bl RTC_GetTimeAsync
ldr r1, _020D6010 ; =0x021D5538
ldr r1, _020D6010 ; =UNK_021D5538
cmp r0, #0x0
str r0, [r1, #0x20]
bne _020D5FF8
bl RtcWaitBusy
_020D5FF8:
ldr r0, _020D6010 ; =0x021D5538
ldr r0, _020D6010 ; =UNK_021D5538
ldr r0, [r0, #0x20]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020D600C: .word RtcGetResultCallback
_020D6010: .word 0x021D5538
_020D6010: .word UNK_021D5538
arm_func_start RTC_GetTimeAsync
RTC_GetTimeAsync: ; 0x020D6014
@@ -534,7 +537,7 @@ RTC_GetTimeAsync: ; 0x020D6014
mov r5, r1
mov r4, r2
bl OS_DisableInterrupts
ldr r1, _020D608C ; =0x021D5538
ldr r1, _020D608C ; =UNK_021D5538
ldr r2, [r1, #0x0]
cmp r2, #0x0
beq _020D6048
@@ -546,7 +549,7 @@ _020D6048:
mov r2, #0x1
str r2, [r1, #0x0]
bl OS_RestoreInterrupts
ldr r0, _020D608C ; =0x021D5538
ldr r0, _020D608C ; =UNK_021D5538
mov r2, #0x1
mov r1, #0x0
str r2, [r0, #0x14]
@@ -562,7 +565,7 @@ _020D6078: ; 0x020D6078
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020D608C: .word 0x021D5538
_020D608C: .word UNK_021D5538
arm_func_start RTC_GetDate
RTC_GetDate: ; 0x020D6090
@@ -571,20 +574,20 @@ RTC_GetDate: ; 0x020D6090
ldr r1, _020D60CC ; =RtcGetResultCallback
mov r2, #0x0
bl RTC_GetDateAsync
ldr r1, _020D60D0 ; =0x021D5538
ldr r1, _020D60D0 ; =UNK_021D5538
cmp r0, #0x0
str r0, [r1, #0x20]
bne _020D60B8
bl RtcWaitBusy
_020D60B8:
ldr r0, _020D60D0 ; =0x021D5538
ldr r0, _020D60D0 ; =UNK_021D5538
ldr r0, [r0, #0x20]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020D60CC: .word RtcGetResultCallback
_020D60D0: .word 0x021D5538
_020D60D0: .word UNK_021D5538
arm_func_start RTC_GetDateAsync
RTC_GetDateAsync: ; 0x020D60D4
@@ -593,7 +596,7 @@ RTC_GetDateAsync: ; 0x020D60D4
mov r5, r1
mov r4, r2
bl OS_DisableInterrupts
ldr r1, _020D6148 ; =0x021D5538
ldr r1, _020D6148 ; =UNK_021D5538
ldr r2, [r1, #0x0]
cmp r2, #0x0
beq _020D6108
@@ -605,7 +608,7 @@ _020D6108:
mov r2, #0x1
str r2, [r1, #0x0]
bl OS_RestoreInterrupts
ldr r0, _020D6148 ; =0x021D5538
ldr r0, _020D6148 ; =UNK_021D5538
mov r1, #0x0
str r1, [r0, #0x14]
str r1, [r0, #0x18]
@@ -620,19 +623,19 @@ _020D6134: ; 0x020D6134
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020D6148: .word 0x021D5538
_020D6148: .word UNK_021D5538
arm_func_start RTC_Init
RTC_Init: ; 0x020D614C
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r1, _020D61C8 ; =0x021D5534
ldr r1, _020D61C8 ; =UNK_021D5534
ldrh r0, [r1, #0x0]
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {r4-r5,lr}
bxne lr
ldr r0, _020D61CC ; =0x021D5538
ldr r0, _020D61CC ; =UNK_021D5538
mov r2, #0x0
mov r3, #0x1
strh r3, [r1, #0x0]
@@ -658,6 +661,6 @@ _020D61A8: ; 0x020D61A8
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D61C8: .word 0x021D5534
_020D61CC: .word 0x021D5538
_020D61C8: .word UNK_021D5534
_020D61CC: .word UNK_021D5538
_020D61D0: .word RtcCommonCallback

View File

@@ -1,13 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D5300
.text
arm_func_start SNDi_CallAlarmHandler
SNDi_CallAlarmHandler: ; 0x020CF4B0
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r3, _020CF50C ; =0x021D5300
ldr r3, _020CF50C ; =UNK_021D5300
and r2, r0, #0xff
mov r1, #0xc
mla r3, r2, r1, r3
@@ -29,13 +31,13 @@ SNDi_CallAlarmHandler: ; 0x020CF4B0
ldmia sp!, {lr}
bx lr
.balign 4
_020CF50C: .word 0x021D5300
_020CF50C: .word UNK_021D5300
arm_func_start SNDi_SetAlarmHandler
SNDi_SetAlarmHandler:
mov r3, #0xc
mul r3, r0, r3
ldr r0, _020CF53C ; =0x021D5300
ldr r0, _020CF53C ; =UNK_021D5300
str r1, [r0, r3]
add r1, r0, r3
str r2, [r1, #0x4]
@@ -45,11 +47,11 @@ SNDi_SetAlarmHandler:
ldrb r0, [r1, #0x8]
bx lr
.balign 4
_020CF53C: .word 0x021D5300
_020CF53C: .word UNK_021D5300
arm_func_start SNDi_IncAlarmId
SNDi_IncAlarmId: ; 0x020CF540
ldr r2, _020CF55C ; =0x021D5300
ldr r2, _020CF55C ; =UNK_021D5300
mov r1, #0xc
mla r1, r0, r1, r2
ldrb r0, [r1, #0x8]
@@ -57,11 +59,11 @@ SNDi_IncAlarmId: ; 0x020CF540
strb r0, [r1, #0x8]
bx lr
.balign 4
_020CF55C: .word 0x021D5300
_020CF55C: .word UNK_021D5300
arm_func_start SND_AlarmInit
SND_AlarmInit: ; 0x020CF560
ldr r1, _020CF58C ; =0x021D5300
ldr r1, _020CF58C ; =UNK_021D5300
mov r2, #0x0
mov r0, r2
_020CF56C:
@@ -74,4 +76,4 @@ _020CF56C:
blt _020CF56C
bx lr
.balign 4
_020CF58C: .word 0x021D5300
_020CF58C: .word UNK_021D5300

View File

@@ -1,6 +1,22 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D3880
.extern UNK_021D5360
.extern UNK_021D383C
.extern UNK_021D3854
.extern UNK_021D3844
.extern UNK_021D3B00
.extern UNK_021D384C
.extern UNK_021D3858
.extern UNK_021D3840
.extern UNK_021D3850
.extern UNK_021D385C
.extern UNK_021D4B00
.extern UNK_021D3848
.extern UNK_021D3838
.extern UNK_021D52E8
.text
arm_func_start IsCommandAvailable
@@ -29,7 +45,7 @@ _020CECD0: .word 0x04FFF200
AllocCommand: ; 0x020CECD4
stmdb sp!, {r4,lr}
bl OS_DisableInterrupts
ldr r1, _020CED24 ; =0x021D3838
ldr r1, _020CED24 ; =UNK_021D3838
ldr r4, [r1, #0x0]
cmp r4, #0x0
bne _020CECFC
@@ -42,7 +58,7 @@ _020CECFC:
ldr r2, [r4, #0x0]
str r2, [r1, #0x0]
cmp r2, #0x0
ldreq r1, _020CED28 ; =0x021D3848
ldreq r1, _020CED28 ; =UNK_021D3848
moveq r2, #0x0
streq r2, [r1, #0x0]
bl OS_RestoreInterrupts
@@ -50,8 +66,8 @@ _020CECFC:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020CED24: .word 0x021D3838
_020CED28: .word 0x021D3848
_020CED24: .word UNK_021D3838
_020CED28: .word UNK_021D3848
arm_func_start RequestCommandProc
RequestCommandProc: ; 0x020CED2C
@@ -133,7 +149,7 @@ SND_CountWaitingCommand: ; 0x020CEDFC
SND_CountReservedCommand: ; 0x020CEE1C
stmdb sp!, {r4,lr}
bl OS_DisableInterrupts
ldr r1, _020CEE58 ; =0x021D3840
ldr r1, _020CEE58 ; =UNK_021D3840
mov r4, #0x0
ldr r1, [r1, #0x0]
cmp r1, #0x0
@@ -149,13 +165,13 @@ _020CEE48:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020CEE58: .word 0x021D3840
_020CEE58: .word UNK_021D3840
arm_func_start SND_CountFreeCommand
SND_CountFreeCommand: ; 0x020CEE5C
stmdb sp!, {r4,lr}
bl OS_DisableInterrupts
ldr r1, _020CEE98 ; =0x021D3838
ldr r1, _020CEE98 ; =UNK_021D3838
mov r4, #0x0
ldr r1, [r1, #0x0]
cmp r1, #0x0
@@ -171,14 +187,14 @@ _020CEE88:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020CEE98: .word 0x021D3838
_020CEE98: .word UNK_021D3838
arm_func_start SND_IsFinishedCommandTag
SND_IsFinishedCommandTag:
stmdb sp!, {r4,lr}
mov r4, r0
bl OS_DisableInterrupts
ldr r1, _020CEEEC ; =0x021D383C
ldr r1, _020CEEEC ; =UNK_021D383C
ldr r1, [r1, #0x0]
cmp r4, r1
bls _020CEECC
@@ -198,27 +214,27 @@ _020CEEDC:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020CEEEC: .word 0x021D383C
_020CEEEC: .word UNK_021D383C
arm_func_start SND_GetCurrentCommandTag
SND_GetCurrentCommandTag: ; 0x020CEEF0
stmdb sp!, {r4,lr}
bl OS_DisableInterrupts
ldr r1, _020CEF24 ; =0x021D3840
ldr r1, _020CEF24 ; =UNK_021D3840
ldr r1, [r1, #0x0]
cmp r1, #0x0
ldreq r1, _020CEF28 ; =0x021D383C
ldreq r1, _020CEF28 ; =UNK_021D383C
ldreq r4, [r1, #0x0]
ldrne r1, _020CEF2C ; =0x021D3858
ldrne r1, _020CEF2C ; =UNK_021D3858
ldrne r4, [r1, #0x0]
bl OS_RestoreInterrupts
mov r0, r4
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020CEF24: .word 0x021D3840
_020CEF28: .word 0x021D383C
_020CEF2C: .word 0x021D3858
_020CEF24: .word UNK_021D3840
_020CEF28: .word UNK_021D383C
_020CEF2C: .word UNK_021D3858
arm_func_start SND_WaitForCommandProc
SND_WaitForCommandProc: ; 0x020CEF30
@@ -268,7 +284,7 @@ SND_FlushCommand: ; 0x020CEFC0
sub sp, sp, #0x4
mov r5, r0
bl OS_DisableInterrupts
ldr r1, _020CF164 ; =0x021D3840
ldr r1, _020CF164 ; =UNK_021D3840
mov r4, r0
ldr r1, [r1, #0x0]
cmp r1, #0x0
@@ -279,7 +295,7 @@ SND_FlushCommand: ; 0x020CEFC0
ldmia sp!, {r4-r9,lr}
bx lr
_020CEFF8:
ldr r1, _020CF168 ; =0x021D3854
ldr r1, _020CF168 ; =UNK_021D3854
ldr r1, [r1, #0x0]
cmp r1, #0x8
blt _020CF03C
@@ -293,15 +309,15 @@ _020CEFF8:
_020CF024:
mov r0, #0x1
bl SND_RecvCommandReply
ldr r0, _020CF168 ; =0x021D3854
ldr r0, _020CF168 ; =UNK_021D3854
ldr r0, [r0, #0x0]
cmp r0, #0x8
bge _020CF024
_020CF03C:
ldr r0, _020CF16C ; =0x021D3B00
ldr r0, _020CF16C ; =UNK_021D3B00
mov r1, #0x1800
bl DC_FlushRange
ldr r1, _020CF164 ; =0x021D3840
ldr r1, _020CF164 ; =UNK_021D3840
mov r0, #0x7
ldr r1, [r1, #0x0]
mov r2, #0x0
@@ -377,23 +393,23 @@ _020CF0EC:
add sp, sp, #0x4
ldmia sp!, {r4-r9, lr}
bx lr
_020CF164: .word 0x021D3840
_020CF168: .word 0x021D3854
_020CF16C: .word 0x021D3B00
_020CF170: .word 0x021D3850
_020CF174: .word 0x021D385C
_020CF178: .word 0x021D3858
_020CF17C: .word 0x021D3844
_020CF164: .word UNK_021D3840
_020CF168: .word UNK_021D3854
_020CF16C: .word UNK_021D3B00
_020CF170: .word UNK_021D3850
_020CF174: .word UNK_021D385C
_020CF178: .word UNK_021D3858
_020CF17C: .word UNK_021D3844
arm_func_start SND_PushCommand
SND_PushCommand: ; 0x020CF180
stmdb sp!, {r4,lr}
mov r4, r0
bl OS_DisableInterrupts
ldr r2, _020CF1C0 ; =0x021D3844
ldr r2, _020CF1C0 ; =UNK_021D3844
ldr r1, [r2, #0x0]
cmp r1, #0x0
ldreq r1, _020CF1C4 ; =0x021D3840
ldreq r1, _020CF1C4 ; =UNK_021D3840
streq r4, [r2, #0x0]
streq r4, [r1, #0x0]
strne r4, [r1, #0x0]
@@ -404,8 +420,8 @@ SND_PushCommand: ; 0x020CF180
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020CF1C0: .word 0x021D3844
_020CF1C4: .word 0x021D3840
_020CF1C0: .word UNK_021D3844
_020CF1C4: .word UNK_021D3840
arm_func_start SND_AllocCommand
SND_AllocCommand:
@@ -463,7 +479,7 @@ SND_RecvCommandReply: ; 0x020CF264
ands r0, r4, #0x1
beq _020CF2C0
bl SNDi_GetFinishedCommandTag
ldr r4, _020CF380 ; =0x021D383C
ldr r4, _020CF380 ; =UNK_021D383C
ldr r1, [r4, #0x0]
cmp r1, r0
bne _020CF2E8
@@ -482,7 +498,7 @@ _020CF294:
b _020CF2E8
_020CF2C0:
bl SNDi_GetFinishedCommandTag
ldr r1, _020CF380 ; =0x021D383C
ldr r1, _020CF380 ; =UNK_021D383C
ldr r1, [r1, #0x0]
cmp r1, r0
bne _020CF2E8
@@ -493,8 +509,8 @@ _020CF2DC:
ldmia sp!, {r4-r6, lr}
bx lr
_020CF2E8:
ldr r0, _020CF384 ; =0x021D384C
ldr r2, _020CF388 ; =0x021D385C
ldr r0, _020CF384 ; =UNK_021D384C
ldr r2, _020CF388 ; =UNK_021D385C
ldr r3, [r0, #0x0]
add r1, r3, #0x1
ldr r4, [r2, r3, lsl #0x2]
@@ -512,16 +528,16 @@ _020CF31C:
cmp r0, #0x0
bne _020CF31C
_020CF32C:
ldr r0, _020CF38C ; =0x021D3848
ldr r3, _020CF390 ; =0x021D3854
ldr r0, _020CF38C ; =UNK_021D3848
ldr r3, _020CF390 ; =UNK_021D3854
ldr r0, [r0, #0x0]
ldr r2, _020CF380 ; =0x021D383C
ldr r2, _020CF380 ; =UNK_021D383C
cmp r0, #0x0
strne r4, [r0, #0x0]
ldreq r0, _020CF394 ; =0x021D3838
ldreq r0, _020CF394 ; =UNK_021D3838
ldr lr, [r3, #0x0]
streq r4, [r0, #0x0]
ldr ip, _020CF38C ; =0x021D3848
ldr ip, _020CF38C ; =UNK_021D3848
sub r6, lr, #0x1
ldr r0, [r2, #0x0]
str r1, [r12, #0x0]
@@ -534,20 +550,20 @@ _020CF32C:
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020CF380: .word 0x021D383C
_020CF384: .word 0x021D384C
_020CF388: .word 0x021D385C
_020CF38C: .word 0x021D3848
_020CF390: .word 0x021D3854
_020CF394: .word 0x021D3838
_020CF380: .word UNK_021D383C
_020CF384: .word UNK_021D384C
_020CF388: .word UNK_021D385C
_020CF38C: .word UNK_021D3848
_020CF390: .word UNK_021D3854
_020CF394: .word UNK_021D3838
arm_func_start SND_CommandInit
SND_CommandInit: ; 0x020CF398
stmdb sp!, {r4-r11,lr}
sub sp, sp, #0x4
bl InitPXI
ldr r3, _020CF478 ; =0x021D3B00
ldr r0, _020CF47C ; =0x021D3838
ldr r3, _020CF478 ; =UNK_021D3B00
ldr r0, _020CF47C ; =UNK_021D3838
mov r4, #0x0
str r3, [r0, #0x0]
mov r1, r3
@@ -558,20 +574,20 @@ _020CF3BC:
cmp r4, #0xff
str r2, [r3], #0x18
blt _020CF3BC
ldr r7, _020CF480 ; =0x021D4B00
ldr r7, _020CF480 ; =UNK_021D4B00
mov r10, #0x0
ldr r5, _020CF484 ; =0x021D3840
ldr r4, _020CF488 ; =0x021D3844
ldr lr, _020CF48C ; =0x021D3854
ldr ip, _020CF490 ; =0x021D384C
ldr r3, _020CF494 ; =0x021D3850
ldr r1, _020CF498 ; =0x021D383C
ldr sb, _020CF49C ; =0x021D52E8
ldr r6, _020CF4A0 ; =0x021D3848
ldr r2, _020CF4A4 ; =0x021D3858
ldr r5, _020CF484 ; =UNK_021D3840
ldr r4, _020CF488 ; =UNK_021D3844
ldr lr, _020CF48C ; =UNK_021D3854
ldr ip, _020CF490 ; =UNK_021D384C
ldr r3, _020CF494 ; =UNK_021D3850
ldr r1, _020CF498 ; =UNK_021D383C
ldr sb, _020CF49C ; =UNK_021D52E8
ldr r6, _020CF4A0 ; =UNK_021D3848
ldr r2, _020CF4A4 ; =UNK_021D3858
mov r8, #0x1
ldr r0, _020CF4A8 ; =0x021D3880
ldr fp, _020CF4AC ; =0x021D5360
ldr r0, _020CF4A8 ; =UNK_021D3880
ldr fp, _020CF4AC ; =UNK_021D5360
str r9, [r6, #0x0]
str r10, [r7, #0x7e8]
str r10, [r5, #0x0]
@@ -601,17 +617,17 @@ _020CF43C:
add sp, sp, #0x4
ldmia sp!, {r4-r11, lr}
bx lr
_020CF478: .word 0x021D3B00
_020CF47C: .word 0x021D3838
_020CF480: .word 0x021D4B00
_020CF484: .word 0x021D3840
_020CF488: .word 0x021D3844
_020CF48C: .word 0x021D3854
_020CF490: .word 0x021D384C
_020CF494: .word 0x021D3850
_020CF498: .word 0x021D383C
_020CF49C: .word 0x021D52E8
_020CF4A0: .word 0x021D3848
_020CF4A4: .word 0x021D3858
_020CF4A8: .word 0x021D3880
_020CF4AC: .word 0x021D5360
_020CF478: .word UNK_021D3B00
_020CF47C: .word UNK_021D3838
_020CF480: .word UNK_021D4B00
_020CF484: .word UNK_021D3840
_020CF488: .word UNK_021D3844
_020CF48C: .word UNK_021D3854
_020CF490: .word UNK_021D384C
_020CF494: .word UNK_021D3850
_020CF498: .word UNK_021D383C
_020CF49C: .word UNK_021D52E8
_020CF4A0: .word UNK_021D3848
_020CF4A4: .word UNK_021D3858
_020CF4A8: .word UNK_021D3880
_020CF4AC: .word UNK_021D5360

View File

@@ -1,37 +1,40 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D3820
.extern UNK_021D381C
.text
arm_func_start SNDi_UnlockMutex
SNDi_UnlockMutex: ; 0x020CEC18
ldr ip, _020CEC24 ; =OS_UnlockMutex
ldr r0, _020CEC28 ; =0x021D3820
ldr r0, _020CEC28 ; =UNK_021D3820
bx r12
.balign 4
_020CEC24: .word OS_UnlockMutex
_020CEC28: .word 0x021D3820
_020CEC28: .word UNK_021D3820
arm_func_start SNDi_LockMutex
SNDi_LockMutex: ; 0x020CEC2C
ldr ip, _020CEC38 ; =OS_LockMutex
ldr r0, _020CEC3C ; =0x021D3820
ldr r0, _020CEC3C ; =UNK_021D3820
bx r12
.balign 4
_020CEC38: .word OS_LockMutex
_020CEC3C: .word 0x021D3820
_020CEC3C: .word UNK_021D3820
arm_func_start SND_Init
SND_Init: ; 0x020CEC40
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r1, _020CEC84 ; =0x021D381C
ldr r1, _020CEC84 ; =UNK_021D381C
ldr r0, [r1, #0x0]
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {lr}
bxne lr
ldr r0, _020CEC88 ; =0x021D3820
ldr r0, _020CEC88 ; =UNK_021D3820
mov r2, #0x1
str r2, [r1, #0x0]
bl OS_InitMutex
@@ -41,5 +44,5 @@ SND_Init: ; 0x020CEC40
ldmia sp!, {lr}
bx lr
.balign 4
_020CEC84: .word 0x021D381C
_020CEC88: .word 0x021D3820
_020CEC84: .word UNK_021D381C
_020CEC88: .word UNK_021D3820

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02103CAC
.text
arm_func_start SND_CalcChannelVolume
@@ -13,7 +15,7 @@ SND_CalcChannelVolume: ; 0x020CF6F4
movgt r0, #0x0
_020CF70C:
ldr r1, _020CF760 ; =0x000002D3
ldr r2, _020CF764 ; =0x02103CAC
ldr r2, _020CF764 ; =UNK_02103CAC
add r3, r0, r1
mvn r1, #0xef
cmp r0, r1
@@ -36,4 +38,4 @@ _020CF74C:
.balign 4
_020CF75C: .word 0xFFFFFD2D
_020CF760: .word 0x000002D3
_020CF764: .word 0x02103CAC
_020CF764: .word UNK_02103CAC

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D5360
.text
arm_func_start SNDi_InitSharedWork
@@ -45,71 +47,71 @@ _020CF5E8:
SNDi_GetFinishedCommandTag: ; 0x020CF610
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r0, _020CF640 ; =0x021D5360
ldr r0, _020CF640 ; =UNK_021D5360
mov r1, #0x4
ldr r0, [r0, #0x0]
bl DC_InvalidateRange
ldr r0, _020CF640 ; =0x021D5360
ldr r0, _020CF640 ; =UNK_021D5360
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x0]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020CF640: .word 0x021D5360
_020CF640: .word UNK_021D5360
arm_func_start SND_GetPlayerTickCounter
SND_GetPlayerTickCounter: ; 0x020CF644
stmdb sp!, {r4,lr}
mov r1, #0x24
mul r4, r0, r1
ldr r0, _020CF680 ; =0x021D5360
ldr r0, _020CF680 ; =UNK_021D5360
mov r1, #0x4
ldr r0, [r0, #0x0]
add r0, r0, #0x40
add r0, r0, r4
bl DC_InvalidateRange
ldr r0, _020CF680 ; =0x021D5360
ldr r0, _020CF680 ; =UNK_021D5360
ldr r0, [r0, #0x0]
add r0, r0, r4
ldr r0, [r0, #0x40]
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020CF680: .word 0x021D5360
_020CF680: .word UNK_021D5360
arm_func_start SND_GetChannelStatus
SND_GetChannelStatus: ; 0x020CF684
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r0, _020CF6B8 ; =0x021D5360
ldr r0, _020CF6B8 ; =UNK_021D5360
mov r1, #0x2
ldr r0, [r0, #0x0]
add r0, r0, #0x8
bl DC_InvalidateRange
ldr r0, _020CF6B8 ; =0x021D5360
ldr r0, _020CF6B8 ; =UNK_021D5360
ldr r0, [r0, #0x0]
ldrh r0, [r0, #0x8]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020CF6B8: .word 0x021D5360
_020CF6B8: .word UNK_021D5360
arm_func_start SND_GetPlayerStatus
SND_GetPlayerStatus: ; 0x020CF6BC
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r0, _020CF6F0 ; =0x021D5360
ldr r0, _020CF6F0 ; =UNK_021D5360
mov r1, #0x4
ldr r0, [r0, #0x0]
add r0, r0, #0x4
bl DC_InvalidateRange
ldr r0, _020CF6F0 ; =0x021D5360
ldr r0, _020CF6F0 ; =UNK_021D5360
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x4]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020CF6F0: .word 0x021D5360
_020CF6F0: .word UNK_021D5360

View File

@@ -1,26 +1,29 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D54B0
.extern UNK_021D54AC
.text
arm_func_start MicWaitBusy
MicWaitBusy: ; 0x020D4408
ldr ip, _020D441C ; =0x021D54B0
ldr ip, _020D441C ; =UNK_021D54B0
_020D440C:
ldr r0, [r12, #0x0]
cmp r0, #0x1
beq _020D440C
bx lr
.balign 4
_020D441C: .word 0x021D54B0
_020D441C: .word UNK_021D54B0
arm_func_start MicGetResultCallback
MicGetResultCallback: ; 0x020D4420
ldr r1, _020D442C ; =0x021D54B0
ldr r1, _020D442C ; =UNK_021D54B0
str r0, [r1, #0xc]
bx lr
.balign 4
_020D442C: .word 0x021D54B0
_020D442C: .word UNK_021D54B0
arm_func_start MicStopAutoSampling
MicStopAutoSampling:
@@ -142,8 +145,8 @@ MicCommonCallback: ; 0x020D45C8
mov r4, r1
cmp r2, #0x0
beq _020D4610
ldr r0, _020D4700 ; =0x021D54B0
ldr r2, _020D4700 ; =0x021D54B0
ldr r0, _020D4700 ; =UNK_021D54B0
ldr r2, _020D4700 ; =UNK_021D54B0
ldr r1, [r0, #0x0]
ldr r12, [r2, #0x4]
cmp r1, #0x0
@@ -192,7 +195,7 @@ _020D4670:
_020D4674:
cmp r2, #0x51
bne _020D46A0
ldr r1, _020D4700 ; =0x021D54B0
ldr r1, _020D4700 ; =UNK_021D54B0
ldr r2, [r1, #0x10]
cmp r2, #0x0
ldmeqia sp!, {r4,lr}
@@ -204,19 +207,19 @@ _020D4674:
_020D46A0:
cmp r2, #0x40
bne _020D46C0
ldr r1, _020D4700 ; =0x021D54B0
ldr r1, _020D4700 ; =UNK_021D54B0
ldr r2, [r1, #0x18]
cmp r2, #0x0
ldrne r1, _020D4704 ; =0x027FFF94
ldrneh r1, [r1, #0x0]
strneh r1, [r2, #0x0]
_020D46C0:
ldr r1, _020D4700 ; =0x021D54B0
ldr r1, _020D4700 ; =UNK_021D54B0
ldr r2, [r1, #0x0]
cmp r2, #0x0
movne r2, #0x0
strne r2, [r1, #0x0]
ldr r2, _020D4700 ; =0x021D54B0
ldr r2, _020D4700 ; =UNK_021D54B0
ldr r4, [r2, #0x4]
cmp r4, #0x0
ldmeqia sp!, {r4,lr}
@@ -228,7 +231,7 @@ _020D46C0:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D4700: .word 0x021D54B0
_020D4700: .word UNK_021D54B0
_020D4704: .word 0x027FFF94
arm_func_start MIC_GetLastSamplingAddress
@@ -246,20 +249,20 @@ MIC_StopAutoSampling: ; 0x020D4718
ldr r0, _020D4754 ; =MicGetResultCallback
mov r1, #0x0
bl MIC_StopAutoSamplingAsync
ldr r1, _020D4758 ; =0x021D54B0
ldr r1, _020D4758 ; =UNK_021D54B0
cmp r0, #0x0
str r0, [r1, #0xc]
bne _020D4740
bl MicWaitBusy
_020D4740:
ldr r0, _020D4758 ; =0x021D54B0
ldr r0, _020D4758 ; =UNK_021D54B0
ldr r0, [r0, #0xc]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020D4754: .word MicGetResultCallback
_020D4758: .word 0x021D54B0
_020D4758: .word UNK_021D54B0
arm_func_start MIC_StopAutoSamplingAsync
MIC_StopAutoSamplingAsync: ; 0x020D475C
@@ -268,7 +271,7 @@ MIC_StopAutoSamplingAsync: ; 0x020D475C
mov r5, r0
mov r4, r1
bl OS_DisableInterrupts
ldr r1, _020D47C8 ; =0x021D54B0
ldr r1, _020D47C8 ; =UNK_021D54B0
ldr r2, [r1, #0x0]
cmp r2, #0x0
beq _020D4794
@@ -281,7 +284,7 @@ _020D4794:
mov r2, #0x1
str r2, [r1, #0x0]
bl OS_RestoreInterrupts
ldr r0, _020D47C8 ; =0x021D54B0
ldr r0, _020D47C8 ; =UNK_021D54B0
str r5, [r0, #0x4]
str r4, [r0, #0x8]
bl MicStopAutoSampling
@@ -292,7 +295,7 @@ _020D47B0:
add sp, sp, #0x4
ldmia sp!, {r4-r5, lr}
bx lr
_020D47C8: .word 0x021D54B0
_020D47C8: .word UNK_021D54B0
arm_func_start MIC_StartAutoSampling
MIC_StartAutoSampling: ; 0x020D47CC
@@ -301,20 +304,20 @@ MIC_StartAutoSampling: ; 0x020D47CC
ldr r1, _020D4808 ; =MicGetResultCallback
mov r2, #0x0
bl MIC_StartAutoSamplingAsync
ldr r1, _020D480C ; =0x021D54B0
ldr r1, _020D480C ; =UNK_021D54B0
cmp r0, #0x0
str r0, [r1, #0xc]
bne _020D47F4
bl MicWaitBusy
_020D47F4:
ldr r0, _020D480C ; =0x021D54B0
ldr r0, _020D480C ; =UNK_021D54B0
ldr r0, [r0, #0xc]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020D4808: .word MicGetResultCallback
_020D480C: .word 0x021D54B0
_020D480C: .word UNK_021D54B0
arm_func_start MIC_StartAutoSamplingAsync
MIC_StartAutoSamplingAsync: ; 0x020D4810
@@ -419,7 +422,7 @@ _020D4928:
add sp, sp, #0x4
ldmia sp!, {r4-r7,lr}
bx lr
_020D497C: .word 0x021D54B0
_020D497C: .word UNK_021D54B0
arm_func_start MIC_DoSamplingAsync
MIC_DoSamplingAsync: ; 0x020D4980
@@ -485,19 +488,19 @@ _020D4A1C:
add sp, sp, #0x4
ldmia sp!, {r4-r7,lr}
bx lr
_020D4A58: .word 0x021D54B0
_020D4A58: .word UNK_021D54B0
arm_func_start MIC_Init
MIC_Init: ; 0x020D4A5C
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r1, _020D4AD8 ; =0x021D54AC
ldr r1, _020D4AD8 ; =UNK_021D54AC
ldrh r0, [r1, #0x0]
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {r4-r5,lr}
bxne lr
ldr r0, _020D4ADC ; =0x021D54B0
ldr r0, _020D4ADC ; =UNK_021D54B0
mov r2, #0x0
mov r3, #0x1
strh r3, [r1, #0x0]
@@ -522,7 +525,7 @@ _020D4AAC:
add sp, sp, #0x4
ldmia sp!, {r4-r5, lr}
bx lr
_020D4AD8: .word 0x021D54AC
_020D4ADC: .word 0x021D54B0
_020D4AD8: .word UNK_021D54AC
_020D4ADC: .word UNK_021D54B0
_020D4AE0: .word 0x027FFF90
_020D4AE4: .word MicCommonCallback

View File

@@ -1,47 +1,58 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D54DC
.extern UNK_021D54E0
.extern UNK_021D54D0
.extern UNK_021D54D4
.extern UNK_021D54F4
.extern UNK_021D54CC
.extern UNK_021D5510
.extern UNK_021D54E4
.extern UNK_021D54D8
.extern UNK_021D550C
.text
arm_func_start PM_DeletePostSleepCallback
PM_DeletePostSleepCallback: ; 0x020D4AE8
ldr ip, _020D4AF8 ; =0x020D4B78
mov r1, r0
ldr r0, _020D4AFC ; =0x021D54E0
ldr r0, _020D4AFC ; =UNK_021D54E0
bx r12
.balign 4
_020D4AF8: .word 0x020D4B78
_020D4AFC: .word 0x021D54E0
_020D4AFC: .word UNK_021D54E0
arm_func_start PM_DeletePreSleepCallback
PM_DeletePreSleepCallback: ; 0x020D4B00
ldr ip, _020D4B10 ; =0x020D4B78
mov r1, r0
ldr r0, _020D4B14 ; =0x021D54D8
ldr r0, _020D4B14 ; =UNK_021D54D8
bx r12
.balign 4
_020D4B10: .word 0x020D4B78
_020D4B14: .word 0x021D54D8
_020D4B14: .word UNK_021D54D8
arm_func_start PM_AppendPostSleepCallback
PM_AppendPostSleepCallback: ; 0x020D4B18
ldr ip, _020D4B28 ; =PMi_AppendList
mov r1, r0
ldr r0, _020D4B2C ; =0x021D54E0
ldr r0, _020D4B2C ; =UNK_021D54E0
bx r12
.balign 4
_020D4B28: .word PMi_AppendList
_020D4B2C: .word 0x021D54E0
_020D4B2C: .word UNK_021D54E0
arm_func_start PM_PrependPreSleepCallback
PM_PrependPreSleepCallback: ; 0x020D4B30
ldr ip, _020D4B40 ; =PMi_PrependList
mov r1, r0
ldr r0, _020D4B44 ; =0x021D54D8
ldr r0, _020D4B44 ; =UNK_021D54D8
bx r12
.balign 4
_020D4B40: .word PMi_PrependList
_020D4B44: .word 0x021D54D8
_020D4B44: .word UNK_021D54D8
arm_func_start PMi_ExecuteList
PMi_ExecuteList: ; 0x020D4B48
@@ -154,7 +165,7 @@ _020D4C70:
mov r0, #0x0
ldmia sp!, {r4-r6,lr}
bx lr
_020D4CA4: .word 0x021D54E4
_020D4CA4: .word UNK_021D54E4
_020D4CA8: .word 0x03006700
arm_func_start PMi_SendLEDPatternCommand
@@ -199,7 +210,7 @@ _020D4CFC:
ldmia sp!, {r4-r6,lr}
bx lr
_020D4D34: .word 0x03006600
_020D4D38: .word 0x021D54E4
_020D4D38: .word UNK_021D54E4
arm_func_start PM_GetLCDPower
PM_GetLCDPower: ; 0x020D4D3C
@@ -235,7 +246,7 @@ PMi_SetLCDPower: ; 0x020D4D78
cmp r2, #0x0
bne _020D4DC0
ldr r2, _020D4E5C ; =0x027FFC3C
ldr r0, _020D4E60 ; =0x021D54DC
ldr r0, _020D4E60 ; =UNK_021D54DC
ldr r2, [r2, #0x0]
ldr r0, [r0, #0x0]
sub r0, r2, r0
@@ -267,7 +278,7 @@ _020D4E00:
ldr lr, _020D4E64 ; =0x04000304
ldr r2, _020D4E5C ; =0x027FFC3C
ldrh r12, [lr, #0x0]
ldr r0, _020D4E60 ; =0x021D54DC
ldr r0, _020D4E60 ; =UNK_021D54DC
cmp r1, #0x0
bic r12, r12, #0x1
strh r12, [lr, #0x0]
@@ -291,14 +302,14 @@ _020D4E4C:
bx lr
.balign 4
_020D4E5C: .word 0x027FFC3C
_020D4E60: .word 0x021D54DC
_020D4E60: .word UNK_021D54DC
_020D4E64: .word 0x04000304
arm_func_start PM_GoSleepMode
PM_GoSleepMode: ; 0x020D4E68
stmdb sp!, {r4-r11,lr}
sub sp, sp, #0x1c
ldr r3, _020D5084 ; =0x021D54D8
ldr r3, _020D5084 ; =UNK_021D54D8
mov r10, r0
ldr r0, [r3, #0x0]
mov r9, r1
@@ -443,7 +454,7 @@ _020D506C:
add sp, sp, #0x1C
ldmia sp!, {r4-r11, lr}
bx lr
_020D5084: .word 0x021D54D8
_020D5084: .word UNK_021D54D8
_020D5088: .word 0x04000208
_020D508C: .word 0x003FFFFF
_020D5090: .word 0x027FFC40
@@ -451,7 +462,7 @@ _020D5094: .word 0x04001000
_020D5098: .word 0x027FFC3C
_020D509C: .word 0x00996A00
_020D50A0: .word 0x04000214
_020D50A4: .word 0x021D54E0
_020D50A4: .word UNK_021D54E0
arm_func_start PMi_SendPxiData
@@ -759,7 +770,7 @@ _020D5434: ; 0x020D5434
ldmeqia sp!, {r4-r7,lr}
bxeq lr
ldr r0, _020D5488 ; =0x02006400
ldr r1, _020D548C ; =0x021D54E4
ldr r1, _020D548C ; =UNK_021D54E4
and r2, r7, #0xff
orr r0, r2, r0
str r6, [r1, #0x4]
@@ -777,7 +788,7 @@ _020D5478: ; 0x020D5478
bx lr
.balign 4
_020D5488: .word 0x02006400
_020D548C: .word 0x021D54E4
_020D548C: .word UNK_021D54E4
_020D5490: .word 0x0000FFFF
_020D5494: .word 0x01010000
@@ -815,13 +826,13 @@ _020D54EC: ; 0x020D54EC
moveq r0, #0x1
ldmeqia sp!, {r4-r8,lr}
bxeq lr
ldr ip, _020D553C ; =0x021D550C
ldr r1, _020D5540 ; =0x021D54E4
ldr ip, _020D553C ; =UNK_021D550C
ldr r1, _020D5540 ; =UNK_021D54E4
ldr r0, _020D5544 ; =0x03006500
and r2, r7, #0xff
mov lr, r7, lsl #0x3
mov r8, #0x0
ldr r3, _020D5548 ; =0x021D5510
ldr r3, _020D5548 ; =UNK_021D5510
strh r8, [r12, lr]
orr r0, r2, r0
str r5, [r1, #0x4]
@@ -832,10 +843,10 @@ _020D54EC: ; 0x020D54EC
ldmia sp!, {r4-r8,lr}
bx lr
.balign 4
_020D553C: .word 0x021D550C
_020D5540: .word 0x021D54E4
_020D553C: .word UNK_021D550C
_020D5540: .word UNK_021D54E4
_020D5544: .word 0x03006500
_020D5548: .word 0x021D5510
_020D5548: .word UNK_021D5510
arm_func_start PM_SendUtilityCommandAsync
PM_SendUtilityCommandAsync: ; 0x020D554C
@@ -850,7 +861,7 @@ _020D5560: ; 0x020D5560
ldmeqia sp!, {r4-r6,lr}
bxeq lr
mov r2, r4, lsr #0x10
ldr r1, _020D55B0 ; =0x021D54E4
ldr r1, _020D55B0 ; =UNK_021D54E4
ldr r0, _020D55B4 ; =0x02006300
and r2, r2, #0xff
orr r0, r2, r0
@@ -867,7 +878,7 @@ _020D55A4: ; 0x020D55A4
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020D55B0: .word 0x021D54E4
_020D55B0: .word UNK_021D54E4
_020D55B4: .word 0x02006300
_020D55B8: .word 0x0000FFFF
_020D55BC: .word 0x01010000
@@ -885,18 +896,18 @@ _020D55D4: ; 0x020D55D4
moveq r0, #0x1
ldmeqia sp!, {r4-r5,lr}
bxeq lr
ldr r1, _020D5660 ; =0x021D54D0
ldr r1, _020D5660 ; =UNK_021D54D0
mov r2, #0x0
ldr r0, _020D5664 ; =0x03006000
str r2, [r1, #0x0]
bl PMi_SendPxiData
ldr r1, _020D5660 ; =0x021D54D0
ldr r1, _020D5660 ; =UNK_021D54D0
_020D5600:
ldr r0, [r1, #0x0]
cmp r0, #0x0
beq _020D5600
mov r0, #0x0
ldr ip, _020D5668 ; =0x021D54D4
ldr ip, _020D5668 ; =UNK_021D54D4
str r0, [r1, #0x0]
mov r2, r0
mov r3, r0
@@ -918,9 +929,9 @@ _020D5650: ; 0x020D5650
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D5660: .word 0x021D54D0
_020D5660: .word UNK_021D54D0
_020D5664: .word 0x03006000
_020D5668: .word 0x021D54D4
_020D5668: .word UNK_021D54D4
_020D566C: .word 0x02006100
_020D5670: .word 0x0000FFFF
_020D5674: .word 0x01010000
@@ -947,7 +958,7 @@ _020D569C:
blo _020D56FC
cmp r2, #0x74
bhi _020D56FC
ldr r1, _020D5750 ; =0x021D5510
ldr r1, _020D5750 ; =UNK_021D5510
sub r2, r2, #0x70
and r0, r0, #0xff
ldr r1, [r1, r2, lsl #0x3]
@@ -956,25 +967,25 @@ _020D569C:
cmp r1, #0x0
strneh r0, [r1, #0x0]
mov r1, r2, lsl #0x3
ldr r0, _020D5754 ; =0x021D550C
ldr r0, _020D5754 ; =UNK_021D550C
mov r2, #0x1
strh r2, [r0, r1]
mov r0, #0x0
b _020D5740
_020D56FC:
cmp r2, #0x60
ldreq r1, _020D5758 ; =0x021D54D0
ldreq r1, _020D5758 ; =UNK_021D54D0
moveq r2, #0x1
streq r2, [r1, #0x0]
beq _020D5740
cmp r2, #0x62
ldreq r1, _020D575C ; =0x021D54D4
ldreq r1, _020D575C ; =UNK_021D54D4
moveq r2, #0x1
streq r2, [r1, #0x0]
beq _020D5740
cmp r2, #0x67
bne _020D5740
ldr r1, _020D5760 ; =0x021D54E4
ldr r1, _020D5760 ; =UNK_021D54E4
ldr r1, [r1, #0xc]
cmp r1, #0x0
strne r0, [r1, #0x0]
@@ -985,23 +996,23 @@ _020D5740:
ldmia sp!, {lr}
bx lr
.balign 4
_020D5750: .word 0x021D5510
_020D5754: .word 0x021D550C
_020D5758: .word 0x021D54D0
_020D575C: .word 0x021D54D4
_020D5760: .word 0x021D54E4
_020D5750: .word UNK_021D5510
_020D5754: .word UNK_021D550C
_020D5758: .word UNK_021D54D0
_020D575C: .word UNK_021D54D4
_020D5760: .word UNK_021D54E4
arm_func_start PM_Init
PM_Init: ; 0x020D5764
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r1, _020D580C ; =0x021D54CC
ldr r1, _020D580C ; =UNK_021D54CC
ldrh r0, [r1, #0x0]
cmp r0, #0x0
addne sp, sp, #0x4
ldmneia sp!, {r4-r5,lr}
bxne lr
ldr r0, _020D5810 ; =0x021D54E4
ldr r0, _020D5810 ; =UNK_021D54E4
mov r2, #0x0
mov r3, #0x1
strh r3, [r1, #0x0]
@@ -1021,7 +1032,7 @@ _020D57B4: ; 0x020D57B4
mov r0, #0x8
bl PXI_SetFifoRecvCallback
mov r3, #0x0
ldr r0, _020D5818 ; =0x021D550C
ldr r0, _020D5818 ; =UNK_021D550C
mov r2, r3
_020D57D4:
mov r1, r3, lsl #0x3
@@ -1029,29 +1040,29 @@ _020D57D4:
strh r2, [r0, r1]
cmp r3, #0x5
blt _020D57D4
ldr r0, _020D581C ; =0x021D54F4
ldr r0, _020D581C ; =UNK_021D54F4
bl OS_InitMutex
ldr r1, _020D5820 ; =0x027FFC3C
ldr r0, _020D5824 ; =0x021D54DC
ldr r0, _020D5824 ; =UNK_021D54DC
ldr r1, [r1, #0x0]
str r1, [r0, #0x0]
add sp, sp, #0x4
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D580C: .word 0x021D54CC
_020D5810: .word 0x021D54E4
_020D580C: .word UNK_021D54CC
_020D5810: .word UNK_021D54E4
_020D5814: .word PMi_CommonCallback
_020D5818: .word 0x021D550C
_020D581C: .word 0x021D54F4
_020D5818: .word UNK_021D550C
_020D581C: .word UNK_021D54F4
_020D5820: .word 0x027FFC3C
_020D5824: .word 0x021D54DC
_020D5824: .word UNK_021D54DC
arm_func_start PMi_CallCallbackAndUnlock
PMi_CallCallbackAndUnlock: ; 0x020D5828
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r2, _020D5878 ; =0x021D54E4
ldr r2, _020D5878 ; =UNK_021D54E4
ldr r1, [r2, #0x0]
ldr r12, [r2, #0x4]
cmp r1, #0x0
@@ -1062,7 +1073,7 @@ PMi_CallCallbackAndUnlock: ; 0x020D5828
ldr r1, [r2, #0x8]
ldmeqia sp!, {lr}
bxeq lr
ldr r2, _020D5878 ; =0x021D54E4
ldr r2, _020D5878 ; =UNK_021D54E4
mov r3, #0x0
str r3, [r2, #0x4]
blx r12
@@ -1070,7 +1081,7 @@ PMi_CallCallbackAndUnlock: ; 0x020D5828
ldmia sp!, {lr}
bx lr
.balign 4
_020D5878: .word 0x021D54E4
_020D5878: .word UNK_021D54E4
arm_func_start PMi_DummyCallback
PMi_DummyCallback: ; 0x020D587C
@@ -1080,7 +1091,7 @@ PMi_DummyCallback: ; 0x020D587C
arm_func_start PMi_WaitBusy
PMi_WaitBusy:
stmdb sp!, {r4,lr}
ldr r4, _020D58C0 ; =0x021D54E4
ldr r4, _020D58C0 ; =UNK_021D54E4
ldr r0, [r4, #0x0]
cmp r0, #0x0
ldmeqia sp!, {r4,lr}
@@ -1097,14 +1108,14 @@ _020D58AC:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D58C0: .word 0x021D54E4
_020D58C0: .word UNK_021D54E4
arm_func_start PMi_Lock
PMi_Lock:
stmdb sp!, {lr}
sub sp, sp, #0x4
bl OS_DisableInterrupts
ldr r1, _020D5910 ; =0x021D54E4
ldr r1, _020D5910 ; =UNK_021D54E4
ldr r2, [r1, #0x0]
cmp r2, #0x0
beq _020D58F4
@@ -1122,4 +1133,4 @@ _020D58F4:
ldmia sp!, {lr}
bx lr
.balign 4
_020D5910: .word 0x021D54E4
_020D5910: .word UNK_021D54E4

View File

@@ -1,32 +1,36 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D548C
.extern UNK_021D5470
.extern UNK_021D5474
.text
arm_func_start TP_CheckError
TP_CheckError: ; 0x020D36C4
ldr r1, _020D36D4 ; =0x021D5474
ldr r1, _020D36D4 ; =UNK_021D5474
ldrh r1, [r1, #0x34]
and r0, r1, r0
bx lr
.balign 4
_020D36D4: .word 0x021D5474
_020D36D4: .word UNK_021D5474
arm_func_start TP_WaitBusy
TP_WaitBusy: ; 0x020D36D8
ldr r1, _020D36EC ; =0x021D5474
ldr r1, _020D36EC ; =UNK_021D5474
_020D36DC:
ldrh r2, [r1, #0x36]
ands r2, r2, r0
bne _020D36DC
bx lr
.balign 4
_020D36EC: .word 0x021D5474
_020D36EC: .word UNK_021D5474
arm_func_start TP_GetCalibratedPoint
TP_GetCalibratedPoint: ; 0x020D36F0
stmdb sp!, {r4-r6,lr}
ldr r2, _020D3818 ; =0x021D5474
ldr r2, _020D3818 ; =UNK_021D5474
ldrh r2, [r2, #0x30]
cmp r2, #0x0
bne _020D372C
@@ -42,7 +46,7 @@ TP_GetCalibratedPoint: ; 0x020D36F0
bx lr
_020D372C:
ldrh r3, [r1, #0x4]
ldr r2, _020D381C ; =0x021D548C
ldr r2, _020D381C ; =UNK_021D548C
strh r3, [r0, #0x4]
ldrh r3, [r1, #0x6]
strh r3, [r0, #0x6]
@@ -102,8 +106,8 @@ _020D37B4:
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020D3818: .word 0x021D5474
_020D381C: .word 0x021D548C
_020D3818: .word UNK_021D5474
_020D381C: .word UNK_021D548C
arm_func_start TP_CalcCalibrateParam
TP_CalcCalibrateParam:
@@ -283,18 +287,18 @@ _020D3A8C: .word 0x040002A0
arm_func_start TP_GetLatestIndexInAuto
TP_GetLatestIndexInAuto: ; 0x020D3A90
ldr r0, _020D3A9C ; =0x021D5474
ldr r0, _020D3A9C ; =UNK_021D5474
ldrh r0, [r0, #0xc]
bx lr
.balign 4
_020D3A9C: .word 0x021D5474
_020D3A9C: .word UNK_021D5474
arm_func_start TP_GetLatestRawPointInAuto
TP_GetLatestRawPointInAuto: ; 0x020D3AA0
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
mov r1, #0x3
ldr lr, _020D3C10 ; =0x021D5474
ldr lr, _020D3C10 ; =UNK_021D5474
strh r1, [r0, #0x6]
ldrh r1, [lr, #0xe]
ldrh r3, [lr, #0xc]
@@ -304,7 +308,7 @@ TP_GetLatestRawPointInAuto: ; 0x020D3AA0
cmp r1, #0x1
bne _020D3B0C
_020D3AD0:
ldr r1, _020D3C10 ; =0x021D5474
ldr r1, _020D3C10 ; =UNK_021D5474
mov r2, r3, lsl #0x3
ldr r1, [r1, #0x10]
add sp, sp, #0x4
@@ -392,7 +396,7 @@ _020D3BFC:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D3C10: .word 0x021D5474
_020D3C10: .word UNK_021D5474
arm_func_start TP_RequestAutoSamplingStopAsync
TP_RequestAutoSamplingStopAsync: ; 0x020D3C14
@@ -438,12 +442,12 @@ _020D3C84:
ldmia sp!, {r4, lr}
bx lr
_020D3CB0: .word 0x03000200
_020D3CB4: .word 0x021D5474
_020D3CB4: .word UNK_021D5474
arm_func_start TP_RequestAutoSamplingStartAsync
TP_RequestAutoSamplingStartAsync: ; 0x020D3CB8
stmdb sp!, {r4-r6,lr}
ldr r4, _020D3DC0 ; =0x021D5474
ldr r4, _020D3DC0 ; =UNK_021D5474
mov r5, r1
mov r12, #0x0
mov r6, r0
@@ -513,7 +517,7 @@ _020D3D94:
bl OS_RestoreInterrupts
ldmia sp!, {r4-r6, lr}
bx lr
_020D3DC0: .word 0x021D5474
_020D3DC0: .word UNK_021D5474
_020D3DC4: .word 0x02000100
_020D3DC8: .word 0x01010000
@@ -523,7 +527,7 @@ TP_WaitRawResult: ; 0x020D3DCC
mov r4, r0
mov r0, #0x1
bl TP_WaitBusy
ldr r1, _020D3E20 ; =0x021D5474
ldr r1, _020D3E20 ; =UNK_021D5474
ldrh r0, [r1, #0x34]
ands r0, r0, #0x1
movne r0, #0x1
@@ -541,7 +545,7 @@ TP_WaitRawResult: ; 0x020D3DCC
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D3E20: .word 0x021D5474
_020D3E20: .word UNK_021D5474
arm_func_start TP_RequestSamplingAsync
TP_RequestSamplingAsync: ; 0x020D3E24
@@ -586,14 +590,14 @@ _020D3E94:
bl OS_RestoreInterrupts
ldmia sp!, {r4, lr}
bx lr
_20D3EC0: .word 0x021D5474
_20D3EC0: .word UNK_021D5474
arm_func_start TP_SetCalibrateParam
TP_SetCalibrateParam: ; 0x020D3EC4
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
movs r4, r0
ldreq r0, _020D3FF8 ; =0x021D5474
ldreq r0, _020D3FF8 ; =UNK_021D5474
moveq r1, #0x0
streqh r1, [r0, #0x30]
addeq sp, sp, #0x4
@@ -613,7 +617,7 @@ TP_SetCalibrateParam: ; 0x020D3EC4
str lr, [r1, #0x0]
str r12, [r1, #0x4]
ldrsh r2, [r4, #0x0]
ldr r1, _020D3FF8 ; =0x021D5474
ldr r1, _020D3FF8 ; =UNK_021D5474
str r2, [r1, #0x18]
ldrsh r2, [r4, #0x4]
str r2, [r1, #0x1c]
@@ -622,12 +626,12 @@ _020D3F30:
ands r1, r1, #0x8000
bne _020D3F30
ldr r2, _020D4008 ; =0x040002A0
ldr r1, _020D3FF8 ; =0x021D5474
ldr r1, _020D3FF8 ; =UNK_021D5474
ldr r2, [r2, #0x0]
str r2, [r1, #0x20]
b _020D3F64
_020D3F50:
ldr r1, _020D3FF8 ; =0x021D5474
ldr r1, _020D3FF8 ; =UNK_021D5474
mov r2, #0x0
str r2, [r1, #0x18]
str r2, [r1, #0x1c]
@@ -646,7 +650,7 @@ _020D3F64:
str r5, [r1, #0x0]
str lr, [r1, #0x4]
ldrsh r2, [r4, #0x2]
ldr r1, _020D3FF8 ; =0x021D5474
ldr r1, _020D3FF8 ; =UNK_021D5474
str r2, [r1, #0x24]
ldrsh r2, [r4, #0x6]
str r2, [r1, #0x28]
@@ -655,26 +659,26 @@ _020D3FA8:
ands r1, r1, #0x8000
bne _020D3FA8
ldr r2, _020D4008 ; =0x040002A0
ldr r1, _020D3FF8 ; =0x021D5474
ldr r1, _020D3FF8 ; =UNK_021D5474
ldr r2, [r2, #0x0]
str r2, [r1, #0x2c]
b _020D3FDC
_020D3FC8:
ldr r1, _020D3FF8 ; =0x021D5474
ldr r1, _020D3FF8 ; =UNK_021D5474
mov r2, #0x0
str r2, [r1, #0x24]
str r2, [r1, #0x28]
str r2, [r1, #0x2c]
_020D3FDC:
bl OS_RestoreInterrupts
ldr r0, _020D3FF8 ; =0x021D5474
ldr r0, _020D3FF8 ; =UNK_021D5474
mov r1, #0x1
strh r1, [r0, #0x30]
add sp, sp, #0x4
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D3FF8: .word 0x021D5474
_020D3FF8: .word UNK_021D5474
_020D3FFC: .word 0x04000280
_020D4000: .word 0x04000290
_020D4004: .word 0x04000298
@@ -734,7 +738,7 @@ _020D40B4: .word 0x027FFC80
TP_Init: ; 0x020D40B8
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
ldr r0, _020D413C ; =0x021D5470
ldr r0, _020D413C ; =UNK_021D5470
ldrh r1, [r0, #0x0]
cmp r1, #0x0
addne sp, sp, #0x4
@@ -743,7 +747,7 @@ TP_Init: ; 0x020D40B8
mov r1, #0x1
strh r1, [r0, #0x0]
bl PXI_Init
ldr r0, _020D4140 ; =0x021D5474
ldr r0, _020D4140 ; =UNK_021D5474
mov r1, #0x0
strh r1, [r0, #0x32]
strh r1, [r0, #0x36]
@@ -767,8 +771,8 @@ _020D411C:
add sp, sp, #0x4
ldmia sp!, {r4-r5,lr}
bx lr
_020D413C: .word 0x021D5470 ; initial$7594
_020D4140: .word 0x021D5474 ; tpState
_020D413C: .word UNK_021D5470 ; initial$7594
_020D4140: .word UNK_021D5474 ; tpState
_020D4144: .word TPi_TpCallback
arm_func_start TPi_TpCallback
@@ -782,7 +786,7 @@ TPi_TpCallback: ; 0x020D4148
cmp r2, #0x0
mov r0, r0, lsr #0x10
beq _020D41AC
ldr r1, _020D43FC ; =0x021D5474
ldr r1, _020D43FC ; =UNK_021D5474
mov r2, #0x1
ldrh r4, [r1, #0x34]
ldr r3, [r1, #0x0]
@@ -801,7 +805,7 @@ TPi_TpCallback: ; 0x020D4148
_020D41AC:
cmp r0, #0x10
bne _020D427C
ldr r1, _020D43FC ; =0x021D5474
ldr r1, _020D43FC ; =UNK_021D5474
ldrh r3, [r1, #0xc]
ldrh r2, [r1, #0x14]
add r3, r3, #0x1
@@ -811,7 +815,7 @@ _020D41AC:
movcs r2, #0x0
strcsh r2, [r1, #0xc]
ldr r1, _020D4400 ; =0x027FFFAA
ldr r2, _020D43FC ; =0x021D5474
ldr r2, _020D43FC ; =UNK_021D5474
ldrh r3, [r1, #0x0]
ldr r1, _020D4404 ; =0x027FFFAC
ldrh r12, [r2, #0xc]
@@ -959,6 +963,6 @@ _020D43EC:
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D43FC: .word 0x021D5474
_020D43FC: .word UNK_021D5474
_020D4400: .word 0x027FFFAA
_020D4404: .word 0x027FFFAC

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D68C0
.text
arm_func_start WM_SetEntry
@@ -163,11 +165,11 @@ _020DAF58: ; 0x020DAF58
movhi r0, #0x6
ldmhiia sp!, {r4-r7,lr}
bxhi lr
ldr r1, _020DAFF4 ; =0x021D68C0
ldr r1, _020DAFF4 ; =UNK_021D68C0
mov r0, r6
mov r2, r5
bl MIi_CpuCopy16
ldr r0, _020DAFF4 ; =0x021D68C0
ldr r0, _020DAFF4 ; =UNK_021D68C0
mov r1, r5
bl DC_StoreRange
mov r1, r7
@@ -177,7 +179,7 @@ _020DAF58: ; 0x020DAF58
str r4, [sp, #0x0]
ldrb r1, [sp, #0x24]
str r0, [sp, #0x4]
ldr r2, _020DAFF4 ; =0x021D68C0
ldr r2, _020DAFF4 ; =UNK_021D68C0
str r1, [sp, #0x8]
mov r3, r5
mov r0, #0x18
@@ -190,7 +192,7 @@ _020DAFE0: ; 0x020DAFE0
ldmia sp!, {r4-r7,lr}
bx lr
.balign 4
_020DAFF4: .word 0x021D68C0
_020DAFF4: .word UNK_021D68C0
arm_func_start WM_SetWEPKeyEx
WM_SetWEPKeyEx: ; 0x020DAFF8

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02106A54
.text
arm_func_start WM_GetNextTgid
@@ -10,7 +12,7 @@ WM_GetNextTgid: ; 0x020D8868
arm_func_start FUN_020D8870
FUN_020D8870: ; 0x020D8870
ldr r0, _020D88DC ; =0x02106A54
ldr r0, _020D88DC ; =UNK_02106A54
ldr r0, [r0, #0x0]
cmp r0, #0x10000
bne _020D88B0
@@ -23,13 +25,13 @@ _020D888C: ; 0x020D888C
bne _020D88B0
ldr r2, [sp, #0x8]
ldr r0, [sp, #0x4]
ldr r1, _020D88DC ; =0x02106A54
ldr r1, _020D88DC ; =UNK_02106A54
add r0, r2, r0, lsl #0x8
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
str r0, [r1, #0x0]
_020D88B0:
ldr r1, _020D88DC ; =0x02106A54
ldr r1, _020D88DC ; =UNK_02106A54
ldr r0, [r1, #0x0]
add r0, r0, #0x1
mov r0, r0, lsl #0x10
@@ -41,7 +43,7 @@ _020D88B0:
ldmia sp!, {lr}
bx lr
.balign 4
_020D88DC: .word 0x02106A54
_020D88DC: .word UNK_02106A54
arm_func_start WM_GetOtherElements
WM_GetOtherElements: ; 0x020D88E0

View File

@@ -1,6 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D5E2C
.extern UNK_021D5E78
.extern UNK_021D5EC0
.extern UNK_021D5E8C
.extern UNK_021D5E9C
.extern UNK_021D5E50
.extern UNK_021D5E28
.extern UNK_021D5E30
.text
arm_func_start WMi_GetMPReadyAIDs
@@ -8,7 +17,7 @@ WMi_GetMPReadyAIDs: ; 0x020D7DE0
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0x4
bl OS_DisableInterrupts
ldr r1, _020D7E30 ; =0x021D5E2C
ldr r1, _020D7E30 ; =UNK_021D5E2C
mov r4, r0
ldr r0, [r1, #0x0]
cmp r0, #0x0
@@ -27,13 +36,13 @@ _020D7E18:
ldmia sp!, {r4-r5,lr}
bx lr
.balign 4
_020D7E30: .word 0x021D5E2C
_020D7E30: .word UNK_021D5E2C
arm_func_start WM_GetConnectedAIDs
WM_GetConnectedAIDs: ; 0x020D7E34
stmdb sp!, {r4,lr}
bl OS_DisableInterrupts
ldr r1, _020D7E64 ; =0x021D5E2C
ldr r1, _020D7E64 ; =UNK_021D5E2C
ldr r1, [r1, #0x0]
cmp r1, #0x0
ldrne r4, [r1, #0x14c]
@@ -44,13 +53,13 @@ WM_GetConnectedAIDs: ; 0x020D7E34
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D7E64: .word 0x021D5E2C
_020D7E64: .word UNK_021D5E2C
arm_func_start WM_GetAID
WM_GetAID: ; 0x020D7E68
stmdb sp!, {r4,lr}
bl OS_DisableInterrupts
ldr r1, _020D7E98 ; =0x021D5E2C
ldr r1, _020D7E98 ; =UNK_021D5E2C
ldr r1, [r1, #0x0]
cmp r1, #0x0
addne r1, r1, #0x100
@@ -61,7 +70,7 @@ WM_GetAID: ; 0x020D7E68
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D7E98: .word 0x021D5E2C
_020D7E98: .word UNK_021D5E2C
arm_func_start WMi_GetStatusAddress
WMi_GetStatusAddress: ; 0x020D7E9C
@@ -71,14 +80,14 @@ WMi_GetStatusAddress: ; 0x020D7E9C
_020D7EA8: ; 0x020D7EA8
cmp r0, #0x0
movne r0, #0x0
ldreq r0, _020D7EC8 ; =0x021D5E2C
ldreq r0, _020D7EC8 ; =UNK_021D5E2C
ldreq r0, [r0, #0x0]
ldreq r0, [r0, #0x4]
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
.balign 4
_020D7EC8: .word 0x021D5E2C
_020D7EC8: .word UNK_021D5E2C
arm_func_start WmClearFifoRecvFlag
WmClearFifoRecvFlag: ; 0x020D7ECC
@@ -95,7 +104,7 @@ _020D7EE4: .word 0x027FFF96
WmReceiveFifo: ; 0x020D7EE8
stmdb sp!, {r4-r11,lr}
sub sp, sp, #0xc
ldr r0, _020D82B0 ; =0x021D5E2C
ldr r0, _020D82B0 ; =UNK_021D5E2C
cmp r2, #0x0
ldr r8, [r0, #0x0]
mov r10, r1
@@ -212,7 +221,7 @@ _020D8088:
beq _020D80B8
mov r0, r10
blx r1
ldr r0, _020D82B8 ; =0x021D5E28
ldr r0, _020D82B8 ; =UNK_021D5E28
ldrh r0, [r0, #0x0]
cmp r0, #0x0
addeq sp, sp, #0xc
@@ -270,12 +279,12 @@ _020D8148:
add r3, r8, #0x100
andne r0, r1, r0
strne r0, [r8, #0x14c]
ldr r0, _020D82BC ; =0x021D5E78
ldr r0, _020D82BC ; =UNK_021D5E78
mov r1, #0x0
mov r2, #0x44
strh r5, [r3, #0x50]
bl MI_CpuFill8
ldr r3, _020D82BC ; =0x021D5E78
ldr r3, _020D82BC ; =UNK_021D5E78
mov r1, #0x0
mov r2, #0x82
strh r2, [r3, #0x0]
@@ -291,31 +300,31 @@ _020D8148:
strh r1, [r3, #0x22]
strh r2, [r3, #0x1a]
ldr r0, [sp, #0x0]
ldr r1, _020D82C4 ; =0x021D5E8C
ldr r1, _020D82C4 ; =UNK_021D5E8C
mov r2, #0x6
strh r4, [r3, #0x3c]
bl MI_CpuCopy8
_020D81D8: ; 0x020D81D8
cmp r11, #0x0
beq _020D81F4
ldr r1, _020D82C8 ; =0x021D5E9C
ldr r1, _020D82C8 ; =UNK_021D5E9C
mov r0, r11
mov r2, #0x18
bl MIi_CpuCopy16
b _020D8204
_020D81F4:
ldr r1, _020D82C8 ; =0x021D5E9C
ldr r1, _020D82C8 ; =UNK_021D5E9C
mov r0, #0x0
mov r2, #0x18
bl MIi_CpuClear16
_020D8204:
cmp r5, #0x0
ldreq r1, [sp, #0x4]
ldr r0, _020D82BC ; =0x021D5E78
ldr r0, _020D82BC ; =UNK_021D5E78
movne r1, r9
cmp r5, #0x0
ldrne r9, [sp, #0x4]
ldr r5, _020D82BC ; =0x021D5E78
ldr r5, _020D82BC ; =UNK_021D5E78
strh r1, [r0, #0x40]
mov r4, #0x0
strh r9, [r5, #0x42]
@@ -356,13 +365,13 @@ _020D8268:
ldmia sp!, {r4-r11,lr}
bx lr
.balign 4
_020D82B0: .word 0x021D5E2C
_020D82B0: .word UNK_021D5E2C
_020D82B4: .word 0x0000FFF5
_020D82B8: .word 0x021D5E28
_020D82BC: .word 0x021D5E78
_020D82B8: .word UNK_021D5E28
_020D82BC: .word UNK_021D5E78
_020D82C0: .word 0x0000FFFF
_020D82C4: .word 0x021D5E8C
_020D82C8: .word 0x021D5E9C
_020D82C4: .word UNK_021D5E8C
_020D82C8: .word UNK_021D5E9C
arm_func_start WMi_CheckStateEx
WMi_CheckStateEx:
@@ -376,12 +385,12 @@ _020D82DC: ; 0x020D82DC
ldmneia sp!, {lr}
addne sp, sp, #0x10
bxne lr
ldr r0, _020D8370 ; =0x021D5E2C
ldr r0, _020D8370 ; =UNK_021D5E2C
mov r1, #0x2
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x4]
bl DC_InvalidateRange
ldr r0, _020D8370 ; =0x021D5E2C
ldr r0, _020D8370 ; =UNK_021D5E2C
add r1, sp, #0x8
ldr r2, [r0, #0x0]
ldr r0, [sp, #0x8]
@@ -410,7 +419,7 @@ _020D8340:
add sp, sp, #0x10
bx lr
.balign 4
_020D8370: .word 0x021D5E2C
_020D8370: .word UNK_021D5E2C
arm_func_start WMi_CheckIdle
WMi_CheckIdle:
@@ -422,12 +431,12 @@ _020D8380: ; 0x020D8380
addne sp, sp, #0x4
ldmneia sp!, {lr}
bxne lr
ldr r0, _020D83CC ; =0x021D5E2C
ldr r0, _020D83CC ; =UNK_021D5E2C
mov r1, #0x2
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x4]
bl DC_InvalidateRange
ldr r0, _020D83CC ; =0x021D5E2C
ldr r0, _020D83CC ; =UNK_021D5E2C
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x4]
ldrh r0, [r0, #0x0]
@@ -438,26 +447,26 @@ _020D8380: ; 0x020D8380
ldmia sp!, {lr}
bx lr
.balign 4
_020D83CC: .word 0x021D5E2C
_020D83CC: .word UNK_021D5E2C
arm_func_start WMi_CheckInitialized
WMi_CheckInitialized:
ldr r0, _020D83E8 ; =0x021D5E28
ldr r0, _020D83E8 ; =UNK_021D5E28
ldrh r0, [r0, #0x0]
cmp r0, #0x0
movne r0, #0x0
moveq r0, #0x3
bx lr
.balign 4
_020D83E8: .word 0x021D5E28
_020D83E8: .word UNK_021D5E28
arm_func_start WMi_GetSystemWork
WMi_GetSystemWork: ; 0x020D83EC
ldr r0, _020D83F8 ; =0x021D5E2C
ldr r0, _020D83F8 ; =UNK_021D5E2C
ldr r0, [r0, #0x0]
bx lr
.balign 4
_020D83F8: .word 0x021D5E2C
_020D83F8: .word UNK_021D5E2C
arm_func_start WMi_SendCommandDirect
WMi_SendCommandDirect:
@@ -481,7 +490,7 @@ WMi_SendCommandDirect:
mov r2, #0x0
bl PXI_SendWordByFifo
mov r4, r0
ldr r0, _020D8470 ; =0x021D5E30
ldr r0, _020D8470 ; =UNK_021D5E30
mov r1, r5
mov r2, #0x1
bl OS_SendMessage
@@ -492,7 +501,7 @@ _020D845C: ; 0x020D845C
ldmia sp!, {r4-r6,lr}
bx lr
.balign 4
_020D8470: .word 0x021D5E30
_020D8470: .word UNK_021D5E30
arm_func_start WMi_SendCommand
WMi_SendCommand:
@@ -532,7 +541,7 @@ _020D84DC:
mov r2, #0x0
bl PXI_SendWordByFifo
mov r4, r0
ldr r0, _020D8528 ; =0x021D5E30
ldr r0, _020D8528 ; =UNK_021D5E30
mov r1, r5
mov r2, #0x1
bl OS_SendMessage
@@ -545,13 +554,13 @@ _020D850C: ; 0x020D850C
add sp, sp, #0x10
bx lr
.balign 4
_020D8528: .word 0x021D5E30
_020D8528: .word UNK_021D5E30
arm_func_start WmGetCommandBuffer4Arm7
WmGetCommandBuffer4Arm7: ; 0x020D852C
stmdb sp!, {lr}
sub sp, sp, #0x4
ldr r0, _020D859C ; =0x021D5E30
ldr r0, _020D859C ; =UNK_021D5E30
add r1, sp, #0x0
mov r2, #0x0
bl OS_ReceiveMessage
@@ -571,7 +580,7 @@ _020D8544: ; 0x020D8544
movne r0, r1
ldmneia sp!, {lr}
bxne lr
ldr r0, _020D859C ; =0x021D5E30
ldr r0, _020D859C ; =UNK_021D5E30
mov r2, #0x1
bl OS_JamMessage
_020D858C: ; 0x020D858C
@@ -580,17 +589,17 @@ _020D858C: ; 0x020D858C
ldmia sp!, {lr}
bx lr
.balign 4
_020D859C: .word 0x021D5E30
_020D859C: .word UNK_021D5E30
arm_func_start WMi_SetCallbackTable
WMi_SetCallbackTable: ; 0x020D85A0
ldr r2, _020D85B4 ; =0x021D5E2C
ldr r2, _020D85B4 ; =UNK_021D5E2C
ldr r2, [r2, #0x0]
add r0, r2, r0, lsl #0x2
str r1, [r0, #0x18]
bx lr
.balign 4
_020D85B4: .word 0x021D5E2C
_020D85B4: .word UNK_021D5E2C
arm_func_start WM_Finish
WM_Finish:
@@ -618,9 +627,9 @@ _020D85F0: ; 0x020D85F0
mov r0, #0xa
mov r1, #0x0
bl PXI_SetFifoRecvCallback
ldr r2, _020D8634 ; =0x021D5E2C
ldr r2, _020D8634 ; =UNK_021D5E2C
mov r3, #0x0
ldr r1, _020D8638 ; =0x021D5E28
ldr r1, _020D8638 ; =UNK_021D5E28
mov r0, r4
str r3, [r2, #0x0]
strh r3, [r1, #0x0]
@@ -630,8 +639,8 @@ _020D8628: ; 0x020D8628
ldmia sp!, {r4,lr}
bx lr
.balign 4
_020D8634: .word 0x021D5E2C
_020D8638: .word 0x021D5E28
_020D8634: .word UNK_021D5E2C
_020D8638: .word UNK_021D5E28
arm_func_start WmInitCore
WmInitCore:
@@ -640,7 +649,7 @@ WmInitCore:
mov r5, r1
mov r7, r2
bl OS_DisableInterrupts
ldr r1, _020D881C ; =0x021D5E28
ldr r1, _020D881C ; =UNK_021D5E28
mov r4, r0
ldrh r1, [r1, #0x0]
cmp r1, #0x0
@@ -692,7 +701,7 @@ _020D86E8:
mov r3, r7
mov r2, #0x0
bl MI_DmaFill32
ldr r0, _020D8820 ; =0x021D5E2C
ldr r0, _020D8820 ; =UNK_021D5E2C
add r1, r6, #0x200
str r6, [r0, #0x0]
str r1, [r6, #0x0]
@@ -709,7 +718,7 @@ _020D86E8:
add r0, r0, #0x100
str r0, [r1, #0x10]
bl WmClearFifoRecvFlag
ldr r1, _020D8820 ; =0x021D5E2C
ldr r1, _020D8820 ; =UNK_021D5E2C
mov r3, #0x0
ldr r0, [r1, #0x0]
strh r5, [r0, #0x14]
@@ -729,13 +738,13 @@ _020D8774:
str r2, [r0, #0x10c]
cmp r3, #0x10
blt _020D8774
ldr r0, _020D8824 ; =0x021D5E30
ldr r1, _020D8828 ; =0x021D5E50
ldr r0, _020D8824 ; =UNK_021D5E30
ldr r1, _020D8828 ; =UNK_021D5E50
mov r2, #0xa
bl OS_InitMessageQueue
ldr sb, _020D882C ; =0x021D5EC0
ldr sb, _020D882C ; =UNK_021D5EC0
mov r10, #0x0
ldr r6, _020D8824 ; =0x021D5E30
ldr r6, _020D8824 ; =UNK_021D5E30
mov r8, #0x8000
mov r7, #0x2
mov r5, #0x1
@@ -755,7 +764,7 @@ _020D87C0:
ldr r1, _020D8830 ; =WmReceiveFifo
mov r0, #0xa
bl PXI_SetFifoRecvCallback
ldr r1, _020D881C ; =0x021D5E28
ldr r1, _020D881C ; =UNK_021D5E28
mov r2, #0x1
mov r0, r4
strh r2, [r1, #0x0]
@@ -765,11 +774,11 @@ _020D8810: ; 0x020D8810
ldmia sp!, {r4-r10,lr}
bx lr
.balign 4
_020D881C: .word 0x021D5E28
_020D8820: .word 0x021D5E2C
_020D8824: .word 0x021D5E30
_020D8828: .word 0x021D5E50
_020D882C: .word 0x021D5EC0
_020D881C: .word UNK_021D5E28
_020D8820: .word UNK_021D5E2C
_020D8824: .word UNK_021D5E30
_020D8828: .word UNK_021D5E50
_020D882C: .word UNK_021D5EC0
_020D8830: .word WmReceiveFifo
arm_func_start WM_Init
@@ -780,7 +789,7 @@ WM_Init:
bl WmInitCore
_020D8844: ; 0x020D8844
cmp r0, #0x0
ldreq r1, _020D8864 ; =0x021D5E2C
ldreq r1, _020D8864 ; =UNK_021D5E2C
moveq r2, #0x0
ldreq r1, [r1, #0x0]
streqh r2, [r1, #0x16]
@@ -788,4 +797,4 @@ _020D8844: ; 0x020D8844
ldmia sp!, {lr}
bx lr
.balign 4
_020D8864: .word 0x021D5E2C
_020D8864: .word UNK_021D5E2C

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,7 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021D74A8
.section .text
.balign 4, 0
@@ -756,7 +758,7 @@ _020EA580:
_020EA58C:
ldr r2, _020EA5AC ; =0x7FF80000
orr r1, r1, r2
ldr r3, _020EA5B0 ; =0x021D74A8
ldr r3, _020EA5B0 ; =UNK_021D74A8
mov r4, #0x21
str r4, [r3, #0x0]
ldmia sp!, {r4-r6,lr}
@@ -764,7 +766,7 @@ _020EA58C:
.balign 4
_020EA5A8: .word 0x7FF00000
_020EA5AC: .word 0x7FF80000
_020EA5B0: .word 0x021D74A8
_020EA5B0: .word UNK_021D74A8
arm_func_start _drsb
_drsb: ; 0x020EA5B4

View File

@@ -1,6 +1,17 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02105BAC
.extern UNK_021C56C8
.extern UNK_021C5348
.extern UNK_020EDF50
.extern UNK_021C4D4C
.extern UNK_021C4D50
.extern UNK_020FFA38
.extern UNK_02105BA8
.extern UNK_020EDC7E
.extern UNK_021C4D48
.text
thumb_func_start FUN_0201B93C
@@ -13,11 +24,11 @@ FUN_0201B93C: ; 0x0201B93C
bx lr
_0201B948:
lsl r1, r0, #0x2
ldr r0, _0201B950 ; =0x020EDF50
ldr r0, _0201B950 ; =UNK_020EDF50
ldr r0, [r0, r1]
bx lr
.balign 4
_0201B950: .word 0x020EDF50
_0201B950: .word UNK_020EDF50
thumb_func_start FUN_0201B954
FUN_0201B954: ; 0x0201B954
@@ -30,11 +41,11 @@ FUN_0201B954: ; 0x0201B954
_0201B960:
add r0, #0x5a
lsl r1, r0, #0x2
ldr r0, _0201B96C ; =0x020EDF50
ldr r0, _0201B96C ; =UNK_020EDF50
ldr r0, [r0, r1]
bx lr
nop
_0201B96C: .word 0x020EDF50
_0201B96C: .word UNK_020EDF50
thumb_func_start FUN_0201B970
FUN_0201B970: ; 0x0201B970
@@ -43,12 +54,12 @@ FUN_0201B970: ; 0x0201B970
mov r1, #0x5a
lsl r1, r1, #0x2
bl _s32_div_f
ldr r0, _0201B984 ; =0x020EDF50
ldr r0, _0201B984 ; =UNK_020EDF50
lsl r1, r1, #0x2
ldr r0, [r0, r1]
pop {r3, pc}
nop
_0201B984: .word 0x020EDF50
_0201B984: .word UNK_020EDF50
thumb_func_start FUN_0201B988
FUN_0201B988: ; 0x0201B988
@@ -58,12 +69,12 @@ FUN_0201B988: ; 0x0201B988
lsl r1, r1, #0x2
bl _s32_div_f
add r1, #0x5a
ldr r0, _0201B99C ; =0x020EDF50
ldr r0, _0201B99C ; =UNK_020EDF50
lsl r1, r1, #0x2
ldr r0, [r0, r1]
pop {r3, pc}
.balign 4
_0201B99C: .word 0x020EDF50
_0201B99C: .word UNK_020EDF50
thumb_func_start FUN_0201B9A0
FUN_0201B9A0: ; 0x0201B9A0
@@ -72,12 +83,12 @@ FUN_0201B9A0: ; 0x0201B9A0
mov r1, #0x5a
lsl r1, r1, #0x2
bl _s32_div_f
ldr r0, _0201B9B4 ; =0x020EDC7E
ldr r0, _0201B9B4 ; =UNK_020EDC7E
lsl r1, r1, #0x1
ldrh r0, [r0, r1]
pop {r3, pc}
nop
_0201B9B4: .word 0x020EDC7E
_0201B9B4: .word UNK_020EDC7E
thumb_func_start FUN_0201B9B8
FUN_0201B9B8: ; 0x0201B9B8
@@ -88,32 +99,32 @@ FUN_0201B9B8: ; 0x0201B9B8
lsr r0, r0, #0x10
lsl r1, r1, #0x2
bl _s32_div_f
ldr r0, _0201B9D0 ; =0x020EDF50
ldr r0, _0201B9D0 ; =UNK_020EDF50
lsl r1, r1, #0x2
ldr r0, [r0, r1]
pop {r3, pc}
nop
_0201B9D0: .word 0x020EDF50
_0201B9D0: .word UNK_020EDF50
thumb_func_start getseed_LC
getseed_LC: ; 0x0201B9D4
ldr r0, _0201B9DC ; =0x021C4D48
ldr r0, _0201B9DC ; =UNK_021C4D48
ldr r0, [r0, #0x0]
bx lr
nop
_0201B9DC: .word 0x021C4D48
_0201B9DC: .word UNK_021C4D48
thumb_func_start seedr_LC
seedr_LC: ; 0x0201B9E0
ldr r1, _0201B9E8 ; =0x021C4D48
ldr r1, _0201B9E8 ; =UNK_021C4D48
str r0, [r1, #0x0]
bx lr
nop
_0201B9E8: .word 0x021C4D48
_0201B9E8: .word UNK_021C4D48
thumb_func_start rand_LC
rand_LC: ; 0x0201B9EC
ldr r1, _0201BA04 ; =0x021C4D48
ldr r1, _0201BA04 ; =UNK_021C4D48
ldr r0, _0201BA08 ; =0x41C64E6D
ldr r2, [r1, #0x0]
add r3, r2, #0x0
@@ -126,7 +137,7 @@ rand_LC: ; 0x0201B9EC
lsr r0, r0, #0x10
bx lr
.balign 4
_0201BA04: .word 0x021C4D48
_0201BA04: .word UNK_021C4D48
_0201BA08: .word 0x41C64E6D
_0201BA0C: .word 0x00006073
@@ -142,13 +153,13 @@ _0201BA18: .word 0x6C078965
thumb_func_start seedr_MT
seedr_MT: ; 0x0201BA1C
push {r4-r5}
ldr r1, _0201BA50 ; =0x021C4D48
ldr r1, _0201BA50 ; =UNK_021C4D48
mov r4, #0x27
str r0, [r1, #0x4]
ldr r1, _0201BA54 ; =0x02105BA8
ldr r1, _0201BA54 ; =UNK_02105BA8
mov r0, #0x1
str r0, [r1, #0x0]
ldr r1, _0201BA58 ; =0x021C4D50
ldr r1, _0201BA58 ; =UNK_021C4D50
ldr r3, _0201BA5C ; =0x6C078965
lsl r4, r4, #0x4
_0201BA30:
@@ -163,20 +174,20 @@ _0201BA30:
stmia r1!, {r2}
cmp r0, r4
blt _0201BA30
ldr r1, _0201BA54 ; =0x02105BA8
ldr r1, _0201BA54 ; =UNK_02105BA8
str r0, [r1, #0x0]
pop {r4-r5}
bx lr
nop
_0201BA50: .word 0x021C4D48
_0201BA54: .word 0x02105BA8
_0201BA58: .word 0x021C4D50
_0201BA50: .word UNK_021C4D48
_0201BA54: .word UNK_02105BA8
_0201BA58: .word UNK_021C4D50
_0201BA5C: .word 0x6C078965
thumb_func_start rand_MT
rand_MT: ; 0x0201BA60
push {r3-r7, lr}
ldr r0, _0201BB44 ; =0x02105BA8
ldr r0, _0201BB44 ; =UNK_02105BA8
ldr r1, [r0, #0x0]
mov r0, #0x27
lsl r0, r0, #0x4
@@ -188,8 +199,8 @@ rand_MT: ; 0x0201BA60
ldr r0, _0201BB48 ; =0x00001571
bl seedr_MT
_0201BA7A:
ldr r4, _0201BB4C ; =0x021C4D4C
ldr r1, _0201BB50 ; =0x02105BAC
ldr r4, _0201BB4C ; =UNK_021C4D4C
ldr r1, _0201BB50 ; =UNK_02105BAC
ldr r5, _0201BB54 ; =0x7FFFFFFF
ldr r6, _0201BB58 ; =0x00000634
mov r0, #0x0
@@ -215,11 +226,11 @@ _0201BA84:
ldr r1, _0201BB5C ; =0x0000026F
cmp r0, r1
bge _0201BAE4
ldr r2, _0201BB4C ; =0x021C4D4C
ldr r2, _0201BB4C ; =UNK_021C4D4C
lsl r1, r0, #0x2
add r1, r2, r1
mov r2, #0xe3
ldr r4, _0201BB50 ; =0x02105BAC
ldr r4, _0201BB50 ; =UNK_02105BAC
ldr r3, _0201BB5C ; =0x0000026F
lsl r2, r2, #0x2
_0201BABC:
@@ -244,38 +255,38 @@ _0201BABC:
cmp r0, r3
blt _0201BABC
_0201BAE4:
ldr r2, _0201BB60 ; =0x021C56C8
ldr r2, _0201BB60 ; =UNK_021C56C8
mov r0, #0x2
ldr r1, [r2, #0x40]
lsl r0, r0, #0x1e
add r3, r1, #0x0
ldr r1, _0201BB64 ; =0x021C4D48
ldr r1, _0201BB64 ; =UNK_021C4D48
and r3, r0
ldr r1, [r1, #0x4]
sub r0, r0, #0x1
and r0, r1
add r4, r3, #0x0
orr r4, r0
ldr r0, _0201BB68 ; =0x021C5348
ldr r0, _0201BB68 ; =UNK_021C5348
ldr r1, [r0, #0x34]
lsr r0, r4, #0x1
add r3, r1, #0x0
eor r3, r0
lsl r0, r4, #0x1f
lsr r1, r0, #0x1d
ldr r0, _0201BB50 ; =0x02105BAC
ldr r0, _0201BB50 ; =UNK_02105BAC
ldr r0, [r0, r1]
mov r1, #0x0
eor r0, r3
str r0, [r2, #0x40]
ldr r0, _0201BB44 ; =0x02105BA8
ldr r0, _0201BB44 ; =UNK_02105BA8
str r1, [r0, #0x0]
_0201BB18:
ldr r0, _0201BB44 ; =0x02105BA8
ldr r0, _0201BB44 ; =UNK_02105BA8
ldr r2, [r0, #0x0]
add r1, r2, #0x1
str r1, [r0, #0x0]
ldr r0, _0201BB4C ; =0x021C4D4C
ldr r0, _0201BB4C ; =UNK_021C4D4C
lsl r1, r2, #0x2
ldr r1, [r0, r1]
lsr r0, r1, #0xb
@@ -294,16 +305,16 @@ _0201BB18:
eor r0, r1
pop {r3-r7, pc}
.balign 4
_0201BB44: .word 0x02105BA8
_0201BB44: .word UNK_02105BA8
_0201BB48: .word 0x00001571
_0201BB4C: .word 0x021C4D4C
_0201BB50: .word 0x02105BAC
_0201BB4C: .word UNK_021C4D4C
_0201BB50: .word UNK_02105BAC
_0201BB54: .word 0x7FFFFFFF
_0201BB58: .word 0x00000634
_0201BB5C: .word 0x0000026F
_0201BB60: .word 0x021C56C8
_0201BB64: .word 0x021C4D48
_0201BB68: .word 0x021C5348
_0201BB60: .word UNK_021C56C8
_0201BB64: .word UNK_021C4D48
_0201BB68: .word UNK_021C5348
_0201BB6C: .word 0x9D2C5680
_0201BB70: .word 0xEFC60000
@@ -336,7 +347,7 @@ _0201BBA2:
asr r0, r1, #0x4
lsl r3, r0, #0x1
lsl r1, r3, #0x1
ldr r2, _0201BBCC ; =0x020FFA38
ldr r2, _0201BBCC ; =UNK_020FFA38
add r3, r3, #0x1
lsl r3, r3, #0x1
ldrsh r1, [r2, r1]
@@ -351,7 +362,7 @@ _0201BBA2:
pop {r4-r6, pc}
nop
_0201BBC8: .word 0x0000FFFF
_0201BBCC: .word 0x020FFA38
_0201BBCC: .word UNK_020FFA38
thumb_func_start FUN_0201BBD0
FUN_0201BBD0: ; 0x0201BBD0

View File

@@ -1,6 +1,12 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EE700
.extern UNK_020EE6D8
.extern UNK_020EE6E0
.extern UNK_021C59C8
.extern UNK_020EE6DC
.text
thumb_func_start FUN_0202254C
@@ -14,7 +20,7 @@ FUN_0202254C: ; 0x0202254C
mov r0, #0x0
add r1, r4, #0x0
bl MIi_CpuClearFast
ldr r0, _020225E4 ; =0x021C59C8
ldr r0, _020225E4 ; =UNK_021C59C8
str r4, [r0, #0x0]
bl FUN_02023570
str r0, [r4, #0x0]
@@ -75,7 +81,7 @@ _020225DA:
pop {r4, pc}
nop
_020225E0: .word 0x000204A8
_020225E4: .word 0x021C59C8
_020225E4: .word UNK_021C59C8
_020225E8: .word 0x00001021
_020225EC: .word 0x00020224
_020225F0: .word 0x00020464
@@ -84,17 +90,17 @@ _020225F4: .word 0x00020218
thumb_func_start FUN_020225F8
FUN_020225F8: ; 0x020225F8
push {r3, lr}
ldr r0, _0202260C ; =0x021C59C8
ldr r0, _0202260C ; =UNK_021C59C8
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _02022606
bl ErrorHandling
_02022606:
ldr r0, _0202260C ; =0x021C59C8
ldr r0, _0202260C ; =UNK_021C59C8
ldr r0, [r0, #0x0]
pop {r3, pc}
.balign 4
_0202260C: .word 0x021C59C8
_0202260C: .word UNK_021C59C8
thumb_func_start FUN_02022610
FUN_02022610: ; 0x02022610
@@ -397,13 +403,13 @@ FUN_0202282C: ; 0x0202282C
thumb_func_start FUN_02022830
FUN_02022830: ; 0x02022830
ldr r0, _0202283C ; =0x021C59C8
ldr r0, _0202283C ; =UNK_021C59C8
mov r1, #0x1
ldr r0, [r0, #0x0]
str r1, [r0, #0xc]
bx lr
nop
_0202283C: .word 0x021C59C8
_0202283C: .word UNK_021C59C8
thumb_func_start FUN_02022840
FUN_02022840: ; 0x02022840
@@ -1553,8 +1559,8 @@ _020230A8: .word 0x00020464
FUN_020230AC: ; 0x020230AC
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _020230DC ; =0x020EE6DC
ldr r4, _020230E0 ; =0x020EE700
ldr r0, _020230DC ; =UNK_020EE6DC
ldr r4, _020230E0 ; =UNK_020EE700
ldr r0, [r0, #0x0]
cmp r5, r0
blt _020230BE
@@ -1575,16 +1581,16 @@ _020230BE:
add r0, r0, r1
pop {r3-r5, pc}
nop
_020230DC: .word 0x020EE6DC
_020230E0: .word 0x020EE700
_020230DC: .word UNK_020EE6DC
_020230E0: .word UNK_020EE700
thumb_func_start FUN_020230E4
FUN_020230E4: ; 0x020230E4
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
ldr r0, _02023158 ; =0x020EE6DC
ldr r4, _0202315C ; =0x020EE700
ldr r0, _02023158 ; =UNK_020EE6DC
ldr r4, _0202315C ; =UNK_020EE700
ldr r0, [r0, #0x0]
mov r7, #0x0
str r0, [sp, #0x0]
@@ -1642,8 +1648,8 @@ _02023154:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_02023158: .word 0x020EE6DC
_0202315C: .word 0x020EE700
_02023158: .word UNK_020EE6DC
_0202315C: .word UNK_020EE700
thumb_func_start FUN_02023160
FUN_02023160: ; 0x02023160
@@ -1655,7 +1661,7 @@ FUN_02023160: ; 0x02023160
mov r12, r0
add r3, r0, #0x0
add r6, r0, #0x0
ldr r0, _020231EC ; =0x020EE6DC
ldr r0, _020231EC ; =UNK_020EE6DC
ldr r4, [sp, #0x0]
ldr r7, [r0, #0x0]
add r5, r1, #0x0
@@ -1721,7 +1727,7 @@ _020231E6:
add sp, #0x8
pop {r3-r7, pc}
nop
_020231EC: .word 0x020EE6DC
_020231EC: .word UNK_020EE6DC
_020231F0: .word 0x00000FFF
thumb_func_start FUN_020231F4
@@ -1734,9 +1740,9 @@ FUN_020231F4: ; 0x020231F4
mov r0, #0x0
add r1, r6, #0x0
lsl r2, r2, #0x10
ldr r4, _02023240 ; =0x020EE700
ldr r4, _02023240 ; =UNK_020EE700
bl MIi_CpuClearFast
ldr r0, _02023244 ; =0x020EE6DC
ldr r0, _02023244 ; =UNK_020EE6DC
mov r7, #0x0
ldr r0, [r0, #0x0]
str r0, [sp, #0x0]
@@ -1764,8 +1770,8 @@ _0202323A:
add sp, #0x8
pop {r3-r7, pc}
nop
_02023240: .word 0x020EE700
_02023244: .word 0x020EE6DC
_02023240: .word UNK_020EE700
_02023244: .word UNK_020EE6DC
thumb_func_start FUN_02023248
FUN_02023248: ; 0x02023248
@@ -1843,13 +1849,13 @@ FUN_020232BC: ; 0x020232BC
add r5, r1, #0x0
add r6, r2, #0x0
bl FUN_02016444
ldr r0, _020233FC ; =0x020EE6D8
ldr r0, _020233FC ; =UNK_020EE6D8
ldr r0, [r0, #0x0]
cmp r5, r0
blt _020232D8
bl ErrorHandling
_020232D8:
ldr r1, _02023400 ; =0x020EE6E0
ldr r1, _02023400 ; =UNK_020EE6E0
lsl r0, r5, #0x4
add r4, r1, r0
ldr r0, [r1, r0]
@@ -1983,8 +1989,8 @@ _020233F0:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_020233FC: .word 0x020EE6D8
_02023400: .word 0x020EE6E0
_020233FC: .word UNK_020EE6D8
_02023400: .word UNK_020EE6E0
_02023404: .word 0x000204A0
thumb_func_start FUN_02023408
@@ -1992,7 +1998,7 @@ FUN_02023408: ; 0x02023408
push {r4-r7, lr}
sub sp, #0x14
add r5, r0, #0x0
ldr r0, _02023564 ; =0x020EE6D8
ldr r0, _02023564 ; =UNK_020EE6D8
add r7, r2, #0x0
ldr r0, [r0, #0x0]
add r6, r1, #0x0
@@ -2001,7 +2007,7 @@ FUN_02023408: ; 0x02023408
blt _02023420
bl ErrorHandling
_02023420:
ldr r1, _02023568 ; =0x020EE6E0
ldr r1, _02023568 ; =UNK_020EE6E0
lsl r0, r7, #0x4
add r4, r1, r0
ldr r0, [r1, r0]
@@ -2155,8 +2161,8 @@ _0202354C:
add sp, #0x14
pop {r4-r7, pc}
nop
_02023564: .word 0x020EE6D8
_02023568: .word 0x020EE6E0
_02023564: .word UNK_020EE6D8
_02023568: .word UNK_020EE6E0
_0202356C: .word 0x000204A0
thumb_func_start FUN_02023570
@@ -2262,7 +2268,7 @@ _02023608:
bl OS_ReleaseLockID
cmp r5, #0x0
bne _02023652
ldr r0, _02023658 ; =0x021C59C8
ldr r0, _02023658 ; =UNK_021C59C8
ldr r0, [r0, #0x0]
bl FUN_02016A18
mov r0, #0x1
@@ -2272,16 +2278,16 @@ _02023652:
add sp, #0x14
pop {r4-r7, pc}
.balign 4
_02023658: .word 0x021C59C8
_02023658: .word UNK_021C59C8
thumb_func_start FUN_0202365C
FUN_0202365C: ; 0x0202365C
ldr r0, _02023664 ; =0x021C59C8
ldr r0, _02023664 ; =UNK_021C59C8
mov r1, #0x1
str r1, [r0, #0x4]
bx lr
.balign 4
_02023664: .word 0x021C59C8
_02023664: .word UNK_021C59C8
thumb_func_start FUN_02023668
FUN_02023668: ; 0x02023668
@@ -2319,7 +2325,7 @@ _02023684:
mov r1, #0x1
bl FUN_02023740
_020236B2:
ldr r0, _020236DC ; =0x021C59C8
ldr r0, _020236DC ; =UNK_021C59C8
mov r1, #0x0
str r1, [r0, #0x4]
str r1, [sp, #0x0]
@@ -2340,14 +2346,14 @@ _020236B2:
add sp, #0x18
pop {r3-r7, pc}
.balign 4
_020236DC: .word 0x021C59C8
_020236DC: .word UNK_021C59C8
_020236E0: .word FUN_0202365C
thumb_func_start FUN_020236E4
FUN_020236E4: ; 0x020236E4
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _0202373C ; =0x021C59C8
ldr r0, _0202373C ; =UNK_021C59C8
add r4, r1, #0x0
ldr r0, [r0, #0x4]
cmp r0, #0x1
@@ -2390,7 +2396,7 @@ _02023738:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
_0202373C: .word 0x021C59C8
_0202373C: .word UNK_021C59C8
thumb_func_start FUN_02023740
FUN_02023740: ; 0x02023740
@@ -2403,7 +2409,7 @@ FUN_02023740: ; 0x02023740
lsl r0, r5, #0x10
lsr r0, r0, #0x10
bl OS_ReleaseLockID
ldr r0, _02023768 ; =0x021C59C8
ldr r0, _02023768 ; =UNK_021C59C8
ldr r0, [r0, #0x0]
bl FUN_02016A18
mov r0, #0x1
@@ -2411,4 +2417,4 @@ FUN_02023740: ; 0x02023740
bl FUN_0208A0B8
pop {r3-r5, pc}
.balign 4
_02023768: .word 0x021C59C8
_02023768: .word UNK_021C59C8

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020F4334
.extern UNK_020F4340
.extern UNK_020F433E
.text
thumb_func_start FUN_02042354
@@ -744,7 +748,7 @@ _02042918:
lsl r0, r0, #0x18
lsr r0, r0, #0x1d
lsl r1, r0, #0x1
ldr r0, _0204294C ; =0x020F4334
ldr r0, _0204294C ; =UNK_020F4334
ldrh r0, [r0, r1]
bx lr
_02042930:
@@ -766,7 +770,7 @@ _02042948:
mov r0, #0x0
bx lr
.balign 4
_0204294C: .word 0x020F4334
_0204294C: .word UNK_020F4334
thumb_func_start FUN_02042950
FUN_02042950: ; 0x02042950
@@ -973,14 +977,14 @@ _02042AEE:
_02042AF0:
add r1, r1, r6
lsl r2, r1, #0x2
ldr r1, _02042B04 ; =0x020F433E
ldr r1, _02042B04 ; =UNK_020F433E
ldrh r1, [r1, r2]
strh r1, [r4, #0x0]
ldr r1, _02042B08 ; =0x020F4340
ldr r1, _02042B08 ; =UNK_020F4340
ldrh r1, [r1, r2]
strh r1, [r0, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
_02042B04: .word 0x020F433E
_02042B08: .word 0x020F4340
_02042B04: .word UNK_020F433E
_02042B08: .word UNK_020F4340

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020F43E4
.text
thumb_func_start FUN_02042CF0
@@ -131,7 +133,7 @@ _02042DC0:
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r7, _02042F0C ; =0x020F43E4
ldr r7, _02042F0C ; =UNK_020F43E4
bl FUN_02042D04
add r4, #0x80
add r1, r0, #0x0
@@ -146,7 +148,7 @@ _02042DFC:
ldr r0, [r0, #0x0]
bl FUN_02042CF8
sub r0, r0, #0x1
ldr r1, _02042F0C ; =0x020F43E4
ldr r1, _02042F0C ; =UNK_020F43E4
lsl r0, r0, #0x4
add r5, r1, r0
add r0, r4, #0x0
@@ -169,7 +171,7 @@ _02042E2E:
ldr r0, [r0, #0x0]
bl FUN_02042CF8
sub r0, r0, #0x1
ldr r1, _02042F0C ; =0x020F43E4
ldr r1, _02042F0C ; =UNK_020F43E4
lsl r0, r0, #0x4
add r5, r1, r0
add r0, r4, #0x0
@@ -216,7 +218,7 @@ _02042E9A:
ldr r0, [r0, #0x0]
bl FUN_02042CF8
sub r0, r0, #0x1
ldr r1, _02042F0C ; =0x020F43E4
ldr r1, _02042F0C ; =UNK_020F43E4
lsl r0, r0, #0x4
add r5, r1, r0
add r0, r4, #0x0
@@ -261,7 +263,7 @@ _02042F04:
add sp, #0x20
pop {r3-r7, pc}
nop
_02042F0C: .word 0x020F43E4
_02042F0C: .word UNK_020F43E4
thumb_func_start FUN_02042F10
FUN_02042F10: ; 0x02042F10

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020F4494
.text
thumb_func_start FUN_02044158
@@ -190,7 +192,7 @@ _0204429E:
add r3, r2, #0x0
mov r1, #0x14
mul r3, r1
ldr r2, _020442B8 ; =0x020F4494
ldr r2, _020442B8 ; =UNK_020F4494
lsl r1, r0, #0x1
add r0, r2, r3
ldrh r0, [r1, r0]
@@ -199,4 +201,4 @@ _0204429E:
pop {r3-r5, pc}
nop
_020442B4: .word 0x0000011D
_020442B8: .word 0x020F4494
_020442B8: .word UNK_020F4494

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020F450E
.extern UNK_020F450C
.text
thumb_func_start FUN_02045268
@@ -16,7 +19,7 @@ FUN_02045268: ; 0x02045268
ldr r0, [r4, #0x0]
bl FUN_020394B8
mov r4, #0x0
ldr r7, _020452B0 ; =0x020F450C
ldr r7, _020452B0 ; =UNK_020F450C
str r0, [sp, #0x0]
add r5, r4, #0x0
_02045288:
@@ -39,7 +42,7 @@ _02045288:
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
_020452B0: .word 0x020F450C
_020452B0: .word UNK_020F450C
thumb_func_start FUN_020452B4
FUN_020452B4: ; 0x020452B4
@@ -59,14 +62,14 @@ FUN_020452B4: ; 0x020452B4
ldr r0, [r5, #0x0]
bl FUN_020394F0
mov r5, #0x0
ldr r2, _02045300 ; =0x020F450C
ldr r2, _02045300 ; =UNK_020F450C
strh r5, [r4, #0x0]
_020452E0:
lsl r3, r5, #0x2
ldrh r1, [r2, r3]
cmp r0, r1
bne _020452F0
ldr r0, _02045304 ; =0x020F450E
ldr r0, _02045304 ; =UNK_020F450E
ldrh r0, [r0, r3]
strh r0, [r4, #0x0]
b _020452FA
@@ -80,8 +83,8 @@ _020452FA:
mov r0, #0x0
pop {r3-r5, pc}
nop
_02045300: .word 0x020F450C
_02045304: .word 0x020F450E
_02045300: .word UNK_020F450C
_02045304: .word UNK_020F450E
thumb_func_start FUN_02045308
FUN_02045308: ; 0x02045308
@@ -123,7 +126,7 @@ _02045358:
ldr r0, [r7, #0xc]
lsl r5, r4, #0x2
bl FUN_0206F158
ldr r1, _02045394 ; =0x020F450C
ldr r1, _02045394 ; =UNK_020F450C
mov r2, #0x4
ldrh r1, [r1, r5]
bl FUN_0206EEF8
@@ -133,7 +136,7 @@ _02045358:
ldr r0, [sp, #0x0]
cmp r6, r0
blo _02045384
ldr r0, _02045394 ; =0x020F450C
ldr r0, _02045394 ; =UNK_020F450C
ldrh r1, [r0, r5]
ldr r0, [sp, #0x8]
strh r1, [r0, #0x0]
@@ -151,7 +154,7 @@ _0204538E:
add sp, #0xc
pop {r4-r7, pc}
.balign 4
_02045394: .word 0x020F450C
_02045394: .word UNK_020F450C
thumb_func_start FUN_02045398
FUN_02045398: ; 0x02045398

View File

@@ -1,6 +1,11 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02105DEC
.extern UNK_020F4218
.extern UNK_02105E10
.extern UNK_02105DF4
.text
thumb_func_start FUN_0203FCF4
@@ -75,7 +80,7 @@ _0203FD6C:
_0203FD70:
mov r1, #0x1
_0203FD72:
ldr r0, _0203FDB4 ; =0x020F4218
ldr r0, _0203FDB4 ; =UNK_020F4218
mov r2, #0x0
add r6, sp, #0x4
_0203FD78:
@@ -110,7 +115,7 @@ _0203FD8E:
add sp, #0x84
pop {r4-r7, pc}
.balign 4
_0203FDB4: .word 0x020F4218
_0203FDB4: .word UNK_020F4218
_0203FDB8: .word 0x0000FFFF
thumb_func_start FUN_0203FDBC
@@ -138,7 +143,7 @@ _0203FDE4:
_0203FDE6:
lsl r3, r2, #0x2
str r0, [sp, #0x0]
ldr r2, _0203FE04 ; =0x02105E10
ldr r2, _0203FE04 ; =UNK_02105E10
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r2, [r2, r3]
@@ -150,7 +155,7 @@ _0203FDE6:
pop {r3-r4, pc}
.balign 4
_0203FE00: .word 0x0000FFF8
_0203FE04: .word 0x02105E10
_0203FE04: .word UNK_02105E10
thumb_func_start FUN_0203FE08
FUN_0203FE08: ; 0x0203FE08
@@ -173,7 +178,7 @@ _0203FE28:
_0203FE2A:
lsl r3, r2, #0x2
str r0, [sp, #0x0]
ldr r2, _0203FE44 ; =0x02105DEC
ldr r2, _0203FE44 ; =UNK_02105DEC
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r2, [r2, r3]
@@ -184,7 +189,7 @@ _0203FE2A:
add sp, #0x4
pop {r3-r4, pc}
.balign 4
_0203FE44: .word 0x02105DEC
_0203FE44: .word UNK_02105DEC
thumb_func_start FUN_0203FE48
FUN_0203FE48: ; 0x0203FE48
@@ -201,7 +206,7 @@ FUN_0203FE48: ; 0x0203FE48
mov r0, #0x0
lsl r3, r2, #0x2
str r0, [sp, #0x0]
ldr r2, _0203FE7C ; =0x02105DF4
ldr r2, _0203FE7C ; =UNK_02105DF4
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r2, [r2, r3]
@@ -212,7 +217,7 @@ FUN_0203FE48: ; 0x0203FE48
add sp, #0x4
pop {r3-r4, pc}
.balign 4
_0203FE7C: .word 0x02105DF4
_0203FE7C: .word UNK_02105DF4
thumb_func_start FUN_0203FE80
FUN_0203FE80: ; 0x0203FE80

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020F4528
.extern UNK_020F452A
.text
thumb_func_start FUN_020453A0
@@ -28,15 +31,15 @@ FUN_020453A0: ; 0x020453A0
add r1, r0, #0x0
ldr r0, [r5, #0x0]
bl FUN_020394B8
ldr r1, _020453EC ; =0x020F4528
ldr r1, _020453EC ; =UNK_020F4528
lsl r2, r4, #0x2
ldrh r1, [r1, r2]
strh r1, [r6, #0x0]
ldr r1, _020453F0 ; =0x020F452A
ldr r1, _020453F0 ; =UNK_020F452A
ldrh r1, [r1, r2]
strh r1, [r0, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
.balign 4
_020453EC: .word 0x020F4528
_020453F0: .word 0x020F452A
_020453EC: .word UNK_020F4528
_020453F0: .word UNK_020F452A

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020F4574
.text
thumb_func_start FUN_020453F4
@@ -163,7 +165,7 @@ FUN_0204552C: ; 0x0204552C
ldr r0, [r0, #0x0]
bl FUN_020394B8
mov r4, #0x0
ldr r7, _02045578 ; =0x020F4574
ldr r7, _02045578 ; =UNK_020F4574
str r0, [sp, #0x0]
add r5, r4, #0x0
_02045548:
@@ -190,7 +192,7 @@ _02045564:
mov r0, #0x0
pop {r3-r7, pc}
nop
_02045578: .word 0x020F4574
_02045578: .word UNK_020F4574
thumb_func_start FUN_0204557C
FUN_0204557C: ; 0x0204557C

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ECAC4
.text
thumb_func_start FUN_020406CC
@@ -892,7 +894,7 @@ FUN_02040DEC: ; 0x02040DEC
add r1, r0, #0x0
add r0, r4, #0x0
bl FUN_02021E28
ldr r0, _02040E48 ; =0x020ECAC4
ldr r0, _02040E48 ; =UNK_020ECAC4
mov r3, #0x0
ldrb r0, [r0, #0x0]
str r3, [sp, #0x0]
@@ -907,7 +909,7 @@ FUN_02040DEC: ; 0x02040DEC
add sp, #0x8
pop {r3-r7, pc}
nop
_02040E48: .word 0x020ECAC4
_02040E48: .word UNK_020ECAC4
thumb_func_start FUN_02040E4C
FUN_02040E4C: ; 0x02040E4C

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C5A10
.text
thumb_func_start FUN_02041194
@@ -262,7 +264,7 @@ _02041360:
cmp r7, #0x5
blo _02041360
_020413AC:
ldr r1, _020413BC ; =0x021C5A10
ldr r1, _020413BC ; =UNK_021C5A10
ldr r0, [sp, #0x8]
strh r0, [r1, #0x2]
ldr r0, [sp, #0x4]
@@ -271,4 +273,4 @@ _020413AC:
add sp, #0xc
pop {r4-r7, pc}
.balign 4
_020413BC: .word 0x021C5A10
_020413BC: .word UNK_021C5A10

View File

@@ -1,6 +1,11 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020F426C
.extern UNK_020F4268
.extern UNK_020F4270
.extern UNK_020F4264
.text
thumb_func_start FUN_02041E40
@@ -423,7 +428,7 @@ FUN_020421D8: ; 0x020421D8
push {r3, lr}
sub r1, r1, #0x1
lsl r3, r1, #0x4
ldr r1, _020421EC ; =0x020F4264
ldr r1, _020421EC ; =UNK_020F4264
ldr r3, [r1, r3]
cmp r3, #0x0
beq _020421EA
@@ -432,14 +437,14 @@ FUN_020421D8: ; 0x020421D8
_020421EA:
pop {r3, pc}
.balign 4
_020421EC: .word 0x020F4264
_020421EC: .word UNK_020F4264
thumb_func_start FUN_020421F0
FUN_020421F0: ; 0x020421F0
push {r4, lr}
sub r0, r0, #0x1
lsl r4, r0, #0x4
ldr r0, _0204220C ; =0x020F4268
ldr r0, _0204220C ; =UNK_020F4268
ldr r3, [r0, r4]
cmp r3, #0x0
beq _02042204
@@ -447,12 +452,12 @@ FUN_020421F0: ; 0x020421F0
add r1, r2, #0x0
blx r3
_02042204:
ldr r0, _02042210 ; =0x020F4270
ldr r0, _02042210 ; =UNK_020F4270
ldr r0, [r0, r4]
pop {r4, pc}
nop
_0204220C: .word 0x020F4268
_02042210: .word 0x020F4270
_0204220C: .word UNK_020F4268
_02042210: .word UNK_020F4270
thumb_func_start FUN_02042214
FUN_02042214: ; 0x02042214
@@ -471,7 +476,7 @@ FUN_02042214: ; 0x02042214
_02042230:
sub r0, r5, #0x1
lsl r1, r0, #0x4
ldr r0, _02042248 ; =0x020F426C
ldr r0, _02042248 ; =UNK_020F426C
ldr r1, [r0, r1]
cmp r1, #0x0
bne _02042240
@@ -482,7 +487,7 @@ _02042240:
blx r1
pop {r3-r5, pc}
nop
_02042248: .word 0x020F426C
_02042248: .word UNK_020F426C
thumb_func_start FUN_0204224C
FUN_0204224C: ; 0x0204224C

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern gUnknown21C48B8
.text
thumb_func_start FUN_020010A8
@@ -178,7 +180,7 @@ FUN_02001204: ; 0x02001204
push {r4-r6, lr}
add r4, r0, #0x0
add r1, r4, #0x0
ldr r6, _020012FC ; =0x021C48B8
ldr r6, _020012FC ; =gUnknown21C48B8
mov r3, #0x0
add r1, #0x33
strb r3, [r1, #0x0]
@@ -309,7 +311,7 @@ _020012F4:
mvn r0, r0
pop {r4-r6, pc}
nop
_020012FC: .word 0x021C48B8
_020012FC: .word gUnknown21C48B8
thumb_func_start FUN_02001300
FUN_02001300: ; 0x02001300

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ECAC8
.extern gUnknown21C48B8
.text
thumb_func_start FUN_02001B80
@@ -132,7 +135,7 @@ FUN_02001C78: ; 0x02001C78
push {r3-r5, lr}
add r4, r0, #0x0
mov r1, #0x0
ldr r2, _02001D24 ; =0x021C48B8
ldr r2, _02001D24 ; =gUnknown21C48B8
strb r1, [r4, #0x1b]
ldr r2, [r2, #0x48]
mov r5, #0x1
@@ -219,7 +222,7 @@ _02001D1C:
add r0, r1, #0x0
pop {r3-r5, pc}
nop
_02001D24: .word 0x021C48B8
_02001D24: .word gUnknown21C48B8
_02001D28: .word 0x000005DC
thumb_func_start FUN_02001D2C
@@ -228,7 +231,7 @@ FUN_02001D2C: ; 0x02001D2C
add r2, r1, #0x0
add r4, r0, #0x0
mov r1, #0x0
ldr r3, _02001DD4 ; =0x021C48B8
ldr r3, _02001DD4 ; =gUnknown21C48B8
strb r1, [r4, #0x1b]
ldr r5, [r3, #0x48]
mov r3, #0x1
@@ -313,7 +316,7 @@ _02001DCE:
add r0, r1, #0x0
pop {r4-r6, pc}
.balign 4
_02001DD4: .word 0x021C48B8
_02001DD4: .word gUnknown21C48B8
_02001DD8: .word 0x000005DC
thumb_func_start FUN_02001DDC
@@ -908,7 +911,7 @@ FUN_02002218: ; 0x02002218
lsr r1, r1, #0x10
str r1, [sp, #0xc]
str r4, [sp, #0x10]
ldr r1, _02002244 ; =0x020ECAC8
ldr r1, _02002244 ; =UNK_020ECAC8
mov r2, #0x0
str r3, [sp, #0x14]
add r3, r2, #0x0
@@ -916,4 +919,4 @@ FUN_02002218: ; 0x02002218
add sp, #0x18
pop {r4, pc}
nop
_02002244: .word 0x020ECAC8
_02002244: .word UNK_020ECAC8

View File

@@ -1,6 +1,11 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02106FC4
.extern UNK_021C48F8
.extern UNK_020ECB50
.extern gUnknown21C48B8
.text
thumb_func_start FUN_020023C0
@@ -32,7 +37,7 @@ _020023E2: ; jump table (using 16-bit offset)
.short _0200280C - _020023E2 - 2; case 5
.short _02002818 - _020023E2 - 2; case 6
_020023F0:
ldr r0, _02002658 ; =0x021C48B8
ldr r0, _02002658 ; =gUnknown21C48B8
ldr r1, [r0, #0x44]
mov r0, #0x3
tst r0, r1
@@ -42,11 +47,11 @@ _020023F0:
lsr r0, r0, #0x1f
bne _02002414
_02002402:
ldr r0, _0200265C ; =0x021C48F8
ldr r0, _0200265C ; =UNK_021C48F8
ldrh r0, [r0, #0x22]
cmp r0, #0x0
beq _02002432
ldr r0, _02002660 ; =0x02106FC4
ldr r0, _02002660 ; =UNK_02106FC4
ldrb r0, [r0, #0x0]
lsl r0, r0, #0x1b
lsr r0, r0, #0x1f
@@ -62,7 +67,7 @@ _02002414:
lsl r0, r0, #0x19
lsr r0, r0, #0x19
beq _02002432
ldr r1, _02002660 ; =0x02106FC4
ldr r1, _02002660 ; =UNK_02106FC4
mov r0, #0x40
ldrb r2, [r1, #0x0]
orr r0, r2
@@ -86,17 +91,17 @@ _02002432:
add r0, r4, #0x0
add r0, #0x26
strb r1, [r0, #0x0]
ldr r0, _02002660 ; =0x02106FC4
ldr r0, _02002660 ; =UNK_02106FC4
ldrb r0, [r0, #0x0]
lsl r1, r0, #0x1f
lsr r1, r1, #0x1f
beq _02002486
ldr r1, _02002658 ; =0x021C48B8
ldr r1, _02002658 ; =gUnknown21C48B8
ldr r2, [r1, #0x48]
mov r1, #0x3
tst r1, r2
bne _02002478
ldr r1, _0200265C ; =0x021C48F8
ldr r1, _0200265C ; =UNK_021C48F8
ldrh r1, [r1, #0x20]
cmp r1, #0x0
beq _02002486
@@ -359,9 +364,9 @@ _0200264E:
strb r0, [r4, #0x16]
b _020026CA
.balign 4
_02002658: .word 0x021C48B8
_0200265C: .word 0x021C48F8
_02002660: .word 0x02106FC4
_02002658: .word gUnknown21C48B8
_0200265C: .word UNK_021C48F8
_02002660: .word UNK_02106FC4
_02002664: .word 0x0000F0FD
_02002668: .word 0x000025BD
_0200266C: .word 0x0000FFFE
@@ -599,15 +604,15 @@ _02002838:
thumb_func_start FUN_02002840
FUN_02002840: ; 0x02002840
ldr r1, _02002848 ; =0x02106FC4
ldr r1, _02002848 ; =UNK_02106FC4
strh r0, [r1, #0x2]
bx lr
nop
_02002848: .word 0x02106FC4
_02002848: .word UNK_02106FC4
thumb_func_start FUN_0200284C
FUN_0200284C: ; 0x0200284C
ldr r1, _02002874 ; =0x02106FC4
ldr r1, _02002874 ; =UNK_02106FC4
add r0, #0x1c
ldrb r1, [r1, #0x0]
lsl r1, r1, #0x1d
@@ -629,14 +634,14 @@ _02002862:
strb r2, [r0, #0x1]
bx lr
.balign 4
_02002874: .word 0x02106FC4
_02002874: .word UNK_02106FC4
thumb_func_start FUN_02002878
FUN_02002878: ; 0x02002878
push {r4-r7, lr}
sub sp, #0x2c
add r5, r0, #0x0
ldr r0, _020029F8 ; =0x02106FC4
ldr r0, _020029F8 ; =UNK_02106FC4
add r4, r5, #0x0
ldrb r0, [r0, #0x0]
add r4, #0x1c
@@ -672,7 +677,7 @@ _020028AC:
str r0, [sp, #0x28]
ldr r0, [r5, #0x4]
bl FUN_0201AB0C
ldr r1, _020029F8 ; =0x02106FC4
ldr r1, _020029F8 ; =UNK_02106FC4
ldrh r6, [r1, #0x2]
ldr r1, [sp, #0x28]
add r7, r1, #0x2
@@ -697,7 +702,7 @@ _020028AC:
ldr r1, [sp, #0x20]
lsl r2, r2, #0x19
lsr r3, r2, #0x1e
ldr r2, _020029FC ; =0x020ECB50
ldr r2, _020029FC ; =UNK_020ECB50
ldr r0, [r0, #0x0]
ldrb r2, [r2, r3]
mov r3, r12
@@ -726,7 +731,7 @@ _020028AC:
ldr r0, [r5, #0x4]
lsl r2, r2, #0x19
lsr r3, r2, #0x1e
ldr r2, _020029FC ; =0x020ECB50
ldr r2, _020029FC ; =UNK_020ECB50
add r7, #0x13
ldrb r2, [r2, r3]
ldr r3, [sp, #0x10]
@@ -755,7 +760,7 @@ _020028AC:
add r7, #0x14
lsl r2, r2, #0x19
lsr r3, r2, #0x1e
ldr r2, _020029FC ; =0x020ECB50
ldr r2, _020029FC ; =UNK_020ECB50
ldr r0, [r0, #0x0]
ldrb r2, [r2, r3]
ldr r3, [sp, #0x18]
@@ -782,7 +787,7 @@ _020028AC:
ldr r1, [sp, #0x20]
lsl r2, r2, #0x19
lsr r3, r2, #0x1e
ldr r2, _020029FC ; =0x020ECB50
ldr r2, _020029FC ; =UNK_020ECB50
ldr r0, [r0, #0x0]
ldrb r2, [r2, r3]
ldr r3, [sp, #0x10]
@@ -820,8 +825,8 @@ _020029F4:
add sp, #0x2c
pop {r4-r7, pc}
.balign 4
_020029F8: .word 0x02106FC4
_020029FC: .word 0x020ECB50
_020029F8: .word UNK_02106FC4
_020029FC: .word UNK_020ECB50
thumb_func_start FUN_02002A00
FUN_02002A00: ; 0x02002A00
@@ -839,7 +844,7 @@ FUN_02002A00: ; 0x02002A00
add r6, r0, #0x0
ldr r0, [r5, #0x4]
bl FUN_0201AB0C
ldr r1, _02002A90 ; =0x02106FC4
ldr r1, _02002A90 ; =UNK_02106FC4
add r7, r6, #0x2
ldrh r4, [r1, #0x2]
ldr r1, [sp, #0x14]
@@ -890,21 +895,21 @@ FUN_02002A00: ; 0x02002A00
add sp, #0x18
pop {r3-r7, pc}
nop
_02002A90: .word 0x02106FC4
_02002A90: .word UNK_02106FC4
thumb_func_start FUN_02002A94
FUN_02002A94: ; 0x02002A94
push {r3, lr}
ldr r0, _02002ACC ; =0x021C48B8
ldr r0, _02002ACC ; =gUnknown21C48B8
ldr r1, [r0, #0x48]
mov r0, #0x3
tst r0, r1
bne _02002AB2
ldr r0, _02002AD0 ; =0x021C48F8
ldr r0, _02002AD0 ; =UNK_021C48F8
ldrh r0, [r0, #0x20]
cmp r0, #0x0
beq _02002AC6
ldr r0, _02002AD4 ; =0x02106FC4
ldr r0, _02002AD4 ; =UNK_02106FC4
ldrb r0, [r0, #0x0]
lsl r0, r0, #0x1b
lsr r0, r0, #0x1f
@@ -912,7 +917,7 @@ FUN_02002A94: ; 0x02002A94
_02002AB2:
ldr r0, _02002AD8 ; =0x000005DC
bl FUN_020054C8
ldr r1, _02002AD4 ; =0x02106FC4
ldr r1, _02002AD4 ; =UNK_02106FC4
mov r0, #0x80
ldrb r2, [r1, #0x0]
orr r0, r2
@@ -923,9 +928,9 @@ _02002AC6:
mov r0, #0x0
pop {r3, pc}
nop
_02002ACC: .word 0x021C48B8
_02002AD0: .word 0x021C48F8
_02002AD4: .word 0x02106FC4
_02002ACC: .word gUnknown21C48B8
_02002AD0: .word UNK_021C48F8
_02002AD4: .word UNK_02106FC4
_02002AD8: .word 0x000005DC
thumb_func_start FUN_02002ADC
@@ -949,7 +954,7 @@ _02002AEE:
lsr r3, r3, #0x18
orr r1, r3
strb r1, [r2, #0x2]
ldr r1, _02002B14 ; =0x02106FC4
ldr r1, _02002B14 ; =UNK_02106FC4
ldrb r1, [r1, #0x0]
lsl r1, r1, #0x1a
lsr r1, r1, #0x1f
@@ -960,12 +965,12 @@ _02002B10:
mov r0, #0x0
pop {r4, pc}
.balign 4
_02002B14: .word 0x02106FC4
_02002B14: .word UNK_02106FC4
thumb_func_start FUN_02002B18
FUN_02002B18: ; 0x02002B18
push {r4, lr}
ldr r1, _02002B38 ; =0x02106FC4
ldr r1, _02002B38 ; =UNK_02106FC4
add r4, r0, #0x0
ldrb r1, [r1, #0x0]
lsl r1, r1, #0x1d
@@ -979,12 +984,12 @@ _02002B2C:
bl FUN_02002A94
pop {r4, pc}
.balign 4
_02002B38: .word 0x02106FC4
_02002B38: .word UNK_02106FC4
thumb_func_start FUN_02002B3C
FUN_02002B3C: ; 0x02002B3C
push {r3, lr}
ldr r1, _02002B5C ; =0x02106FC4
ldr r1, _02002B5C ; =UNK_02106FC4
ldrb r1, [r1, #0x0]
lsl r1, r1, #0x1d
lsr r1, r1, #0x1f
@@ -999,11 +1004,11 @@ _02002B52:
lsr r0, r0, #0x18
pop {r3, pc}
.balign 4
_02002B5C: .word 0x02106FC4
_02002B5C: .word UNK_02106FC4
thumb_func_start FUN_02002B60
FUN_02002B60: ; 0x02002B60
ldr r2, _02002B78 ; =0x02106FC4
ldr r2, _02002B78 ; =UNK_02106FC4
mov r1, #0x1
ldrb r3, [r2, #0x0]
lsl r0, r0, #0x18
@@ -1015,12 +1020,12 @@ FUN_02002B60: ; 0x02002B60
strb r0, [r2, #0x0]
bx lr
nop
_02002B78: .word 0x02106FC4
_02002B78: .word UNK_02106FC4
thumb_func_start FUN_02002B7C
FUN_02002B7C: ; 0x02002B7C
push {r3-r4}
ldr r1, _02002BB4 ; =0x02106FC4
ldr r1, _02002BB4 ; =UNK_02106FC4
mov r3, #0x4
ldrb r2, [r1, #0x0]
mov r4, #0x1
@@ -1047,11 +1052,11 @@ FUN_02002B7C: ; 0x02002B7C
pop {r3-r4}
bx lr
nop
_02002BB4: .word 0x02106FC4
_02002BB4: .word UNK_02106FC4
thumb_func_start FUN_02002BB8
FUN_02002BB8: ; 0x02002BB8
ldr r2, _02002BD0 ; =0x02106FC4
ldr r2, _02002BD0 ; =UNK_02106FC4
lsl r0, r0, #0x18
ldrb r3, [r2, #0x0]
lsr r0, r0, #0x18
@@ -1063,46 +1068,46 @@ FUN_02002BB8: ; 0x02002BB8
strb r0, [r2, #0x0]
bx lr
nop
_02002BD0: .word 0x02106FC4
_02002BD0: .word UNK_02106FC4
thumb_func_start FUN_02002BD4
FUN_02002BD4: ; 0x02002BD4
ldr r0, _02002BE0 ; =0x02106FC4
ldr r0, _02002BE0 ; =UNK_02106FC4
ldrb r0, [r0, #0x0]
lsl r0, r0, #0x19
lsr r0, r0, #0x1f
bx lr
nop
_02002BE0: .word 0x02106FC4
_02002BE0: .word UNK_02106FC4
thumb_func_start FUN_02002BE4
FUN_02002BE4: ; 0x02002BE4
ldr r1, _02002BF0 ; =0x02106FC4
ldr r1, _02002BF0 ; =UNK_02106FC4
mov r0, #0x40
ldrb r2, [r1, #0x0]
bic r2, r0
strb r2, [r1, #0x0]
bx lr
.balign 4
_02002BF0: .word 0x02106FC4
_02002BF0: .word UNK_02106FC4
thumb_func_start FUN_02002BF4
FUN_02002BF4: ; 0x02002BF4
ldr r0, _02002C00 ; =0x02106FC4
ldr r0, _02002C00 ; =UNK_02106FC4
ldrb r0, [r0, #0x0]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bx lr
nop
_02002C00: .word 0x02106FC4
_02002C00: .word UNK_02106FC4
thumb_func_start FUN_02002C04
FUN_02002C04: ; 0x02002C04
ldr r1, _02002C10 ; =0x02106FC4
ldr r1, _02002C10 ; =UNK_02106FC4
mov r0, #0x80
ldrb r2, [r1, #0x0]
bic r2, r0
strb r2, [r1, #0x0]
bx lr
.balign 4
_02002C10: .word 0x02106FC4
_02002C10: .word UNK_02106FC4

View File

@@ -1,13 +1,26 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ECB6A
.extern UNK_020ECB65
.extern UNK_020ECB69
.extern UNK_020ECB67
.extern UNK_020ECB56
.extern UNK_020ECB64
.extern UNK_020ECB54
.extern UNK_02106FCC
.extern UNK_02106FC8
.extern UNK_020ECB6B
.extern UNK_020ECB68
.extern UNK_020ECB66
.text
thumb_func_start FUN_02002C14
FUN_02002C14: ; 0x02002C14
push {r4, lr}
ldr r0, _02002C44 ; =0x02106FCC
ldr r4, _02002C48 ; =0x02106FC8
ldr r0, _02002C44 ; =UNK_02106FCC
ldr r4, _02002C48 ; =UNK_02106FC8
mov r1, #0x0
str r0, [r4, #0x0]
add r2, r1, #0x0
@@ -25,13 +38,13 @@ _02002C22:
str r0, [r3, #0x0]
cmp r1, #0x4
blo _02002C22
ldr r0, _02002C4C ; =0x020ECB64
ldr r0, _02002C4C ; =UNK_020ECB64
bl FUN_0201BCBC
pop {r4, pc}
nop
_02002C44: .word 0x02106FCC
_02002C48: .word 0x02106FC8
_02002C4C: .word 0x020ECB64
_02002C44: .word UNK_02106FCC
_02002C48: .word UNK_02106FC8
_02002C4C: .word UNK_020ECB64
thumb_func_start FUN_02002C50
FUN_02002C50: ; 0x02002C50
@@ -39,14 +52,14 @@ FUN_02002C50: ; 0x02002C50
sub sp, #0x4
str r1, [sp, #0x0]
lsl r4, r0, #0x2
ldr r1, _02002C78 ; =0x020ECB54
ldr r3, _02002C7C ; =0x020ECB56
ldr r1, _02002C78 ; =UNK_020ECB54
ldr r3, _02002C7C ; =UNK_020ECB56
ldrh r1, [r1, r4]
ldrh r3, [r3, r4]
mov r0, #0xe
mov r2, #0x1
bl FUN_02021590
ldr r1, _02002C80 ; =0x02106FC8
ldr r1, _02002C80 ; =UNK_02106FC8
ldr r1, [r1, #0x0]
add r1, r1, r4
add r1, #0x94
@@ -54,9 +67,9 @@ FUN_02002C50: ; 0x02002C50
add sp, #0x4
pop {r3-r4, pc}
nop
_02002C78: .word 0x020ECB54
_02002C7C: .word 0x020ECB56
_02002C80: .word 0x02106FC8
_02002C78: .word UNK_020ECB54
_02002C7C: .word UNK_020ECB56
_02002C80: .word UNK_02106FC8
thumb_func_start FUN_02002C84
FUN_02002C84: ; 0x02002C84
@@ -67,7 +80,7 @@ FUN_02002C84: ; 0x02002C84
blt _02002C92
bl ErrorHandling
_02002C92:
ldr r0, _02002CBC ; =0x02106FC8
ldr r0, _02002CBC ; =UNK_02106FC8
lsl r4, r4, #0x2
ldr r0, [r0, #0x0]
add r0, r0, r4
@@ -77,7 +90,7 @@ _02002C92:
bne _02002CA6
bl ErrorHandling
_02002CA6:
ldr r0, _02002CBC ; =0x02106FC8
ldr r0, _02002CBC ; =UNK_02106FC8
mov r1, #0x0
ldr r0, [r0, #0x0]
add r2, r5, #0x0
@@ -87,7 +100,7 @@ _02002CA6:
bl FUN_020215E0
pop {r3-r5, pc}
nop
_02002CBC: .word 0x02106FC8
_02002CBC: .word UNK_02106FC8
thumb_func_start FUN_02002CC0
FUN_02002CC0: ; 0x02002CC0
@@ -97,7 +110,7 @@ FUN_02002CC0: ; 0x02002CC0
blt _02002CCC
bl ErrorHandling
_02002CCC:
ldr r0, _02002CF4 ; =0x02106FC8
ldr r0, _02002CF4 ; =UNK_02106FC8
lsl r4, r4, #0x2
ldr r0, [r0, #0x0]
add r0, r0, r4
@@ -107,7 +120,7 @@ _02002CCC:
bne _02002CE0
bl ErrorHandling
_02002CE0:
ldr r0, _02002CF4 ; =0x02106FC8
ldr r0, _02002CF4 ; =UNK_02106FC8
mov r1, #0x1
ldr r0, [r0, #0x0]
mov r2, #0x0
@@ -117,7 +130,7 @@ _02002CE0:
bl FUN_020215E0
pop {r4, pc}
.balign 4
_02002CF4: .word 0x02106FC8
_02002CF4: .word UNK_02106FC8
thumb_func_start FUN_02002CF8
FUN_02002CF8: ; 0x02002CF8
@@ -127,7 +140,7 @@ FUN_02002CF8: ; 0x02002CF8
blt _02002D04
bl ErrorHandling
_02002D04:
ldr r0, _02002D8C ; =0x02106FC8
ldr r0, _02002D8C ; =UNK_02106FC8
lsl r6, r4, #0x2
ldr r7, [r0, #0x0]
add r0, r7, r6
@@ -136,7 +149,7 @@ _02002D04:
mov r12, r0
cmp r0, #0x0
beq _02002D68
ldr r2, _02002D90 ; =0x020ECB54
ldr r2, _02002D90 ; =UNK_020ECB54
mov r1, #0x0
ldrh r0, [r2, r6]
add r3, r7, #0x0
@@ -166,21 +179,21 @@ _02002D3E:
_02002D48:
cmp r1, #0x4
bne _02002D68
ldr r0, _02002D8C ; =0x02106FC8
ldr r0, _02002D8C ; =UNK_02106FC8
lsl r5, r4, #0x2
ldr r0, [r0, #0x0]
add r0, r0, r5
add r0, #0x84
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _02002D8C ; =0x02106FC8
ldr r0, _02002D8C ; =UNK_02106FC8
mov r1, #0x0
ldr r0, [r0, #0x0]
add r0, r0, r5
add r0, #0x84
str r1, [r0, #0x0]
_02002D68:
ldr r0, _02002D8C ; =0x02106FC8
ldr r0, _02002D8C ; =UNK_02106FC8
ldr r0, [r0, #0x0]
add r0, r0, r6
add r0, #0x94
@@ -188,7 +201,7 @@ _02002D68:
cmp r0, #0x0
beq _02002D88
bl FUN_020215C8
ldr r0, _02002D8C ; =0x02106FC8
ldr r0, _02002D8C ; =UNK_02106FC8
mov r2, #0x0
ldr r1, [r0, #0x0]
lsl r0, r4, #0x2
@@ -198,24 +211,24 @@ _02002D68:
_02002D88:
pop {r3-r7, pc}
nop
_02002D8C: .word 0x02106FC8
_02002D90: .word 0x020ECB54
_02002D8C: .word UNK_02106FC8
_02002D90: .word UNK_020ECB54
thumb_func_start FUN_02002D94
FUN_02002D94: ; 0x02002D94
push {r3, lr}
ldr r2, _02002DAC ; =0x02106FC8
ldr r2, _02002DAC ; =UNK_02106FC8
lsl r0, r0, #0x2
ldr r2, [r2, #0x0]
add r0, r2, r0
add r0, #0x94
ldr r0, [r0, #0x0]
bl FUN_02021750
ldr r0, _02002DAC ; =0x02106FC8
ldr r0, _02002DAC ; =UNK_02106FC8
ldr r0, [r0, #0x0]
pop {r3, pc}
.balign 4
_02002DAC: .word 0x02106FC8
_02002DAC: .word UNK_02106FC8
thumb_func_start FUN_02002DB0
FUN_02002DB0: ; 0x02002DB0
@@ -248,7 +261,7 @@ _02002DD8:
FUN_02002DE0: ; 0x02002DE0
push {r4-r6, lr}
lsl r4, r0, #0x2
ldr r0, _02002E10 ; =0x02106FC8
ldr r0, _02002E10 ; =UNK_02106FC8
add r5, r1, #0x0
ldr r0, [r0, #0x0]
add r6, r2, #0x0
@@ -259,7 +272,7 @@ FUN_02002DE0: ; 0x02002DE0
bne _02002DFA
bl ErrorHandling
_02002DFA:
ldr r0, _02002E10 ; =0x02106FC8
ldr r0, _02002E10 ; =UNK_02106FC8
add r1, r5, #0x0
ldr r0, [r0, #0x0]
add r2, r6, #0x0
@@ -269,13 +282,13 @@ _02002DFA:
bl FUN_020218D8
pop {r4-r6, pc}
nop
_02002E10: .word 0x02106FC8
_02002E10: .word UNK_02106FC8
thumb_func_start FUN_02002E14
FUN_02002E14: ; 0x02002E14
push {r4-r6, lr}
lsl r4, r0, #0x2
ldr r0, _02002E48 ; =0x02106FC8
ldr r0, _02002E48 ; =UNK_02106FC8
add r5, r1, #0x0
ldr r0, [r0, #0x0]
add r6, r2, #0x0
@@ -289,7 +302,7 @@ _02002E2E:
add r0, r5, #0x0
bl FUN_02021F2C
add r1, r0, #0x0
ldr r0, _02002E48 ; =0x02106FC8
ldr r0, _02002E48 ; =UNK_02106FC8
add r2, r6, #0x0
ldr r0, [r0, #0x0]
add r0, r0, r4
@@ -298,7 +311,7 @@ _02002E2E:
bl FUN_020218D8
pop {r4-r6, pc}
.balign 4
_02002E48: .word 0x02106FC8
_02002E48: .word UNK_02106FC8
thumb_func_start FUN_02002E4C
FUN_02002E4C: ; 0x02002E4C
@@ -322,55 +335,55 @@ _02002E5E: ; jump table (using 16-bit offset)
.short _02002EA6 - _02002E5E - 2; case 7
_02002E6E:
lsl r1, r0, #0x3
ldr r0, _02002EB0 ; =0x020ECB64
ldr r0, _02002EB0 ; =UNK_020ECB64
ldrb r2, [r0, r1]
b _02002EAC
_02002E76:
lsl r1, r0, #0x3
ldr r0, _02002EB4 ; =0x020ECB65
ldr r0, _02002EB4 ; =UNK_020ECB65
ldrb r2, [r0, r1]
b _02002EAC
_02002E7E:
lsl r1, r0, #0x3
ldr r0, _02002EB8 ; =0x020ECB66
ldr r0, _02002EB8 ; =UNK_020ECB66
ldrb r2, [r0, r1]
b _02002EAC
_02002E86:
lsl r1, r0, #0x3
ldr r0, _02002EBC ; =0x020ECB67
ldr r0, _02002EBC ; =UNK_020ECB67
ldrb r2, [r0, r1]
b _02002EAC
_02002E8E:
lsl r1, r0, #0x3
ldr r0, _02002EC0 ; =0x020ECB68
ldr r0, _02002EC0 ; =UNK_020ECB68
ldrb r2, [r0, r1]
b _02002EAC
_02002E96:
lsl r1, r0, #0x3
ldr r0, _02002EC4 ; =0x020ECB69
ldr r0, _02002EC4 ; =UNK_020ECB69
ldrb r2, [r0, r1]
b _02002EAC
_02002E9E:
lsl r1, r0, #0x3
ldr r0, _02002EC8 ; =0x020ECB6A
ldr r0, _02002EC8 ; =UNK_020ECB6A
ldrb r2, [r0, r1]
b _02002EAC
_02002EA6:
lsl r1, r0, #0x3
ldr r0, _02002ECC ; =0x020ECB6B
ldr r0, _02002ECC ; =UNK_020ECB6B
ldrb r2, [r0, r1]
_02002EAC:
add r0, r2, #0x0
bx lr
.balign 4
_02002EB0: .word 0x020ECB64
_02002EB4: .word 0x020ECB65
_02002EB8: .word 0x020ECB66
_02002EBC: .word 0x020ECB67
_02002EC0: .word 0x020ECB68
_02002EC4: .word 0x020ECB69
_02002EC8: .word 0x020ECB6A
_02002ECC: .word 0x020ECB6B
_02002EB0: .word UNK_020ECB64
_02002EB4: .word UNK_020ECB65
_02002EB8: .word UNK_020ECB66
_02002EBC: .word UNK_020ECB67
_02002EC0: .word UNK_020ECB68
_02002EC4: .word UNK_020ECB69
_02002EC8: .word UNK_020ECB6A
_02002ECC: .word UNK_020ECB6B
thumb_func_start FUN_02002ED0
FUN_02002ED0: ; 0x02002ED0

View File

@@ -1,13 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02106FC8
.text
thumb_func_start FUN_02002F08
FUN_02002F08: ; 0x02002F08
push {r4-r6, lr}
lsl r4, r0, #0x2
ldr r0, _02002F3C ; =0x02106FC8
ldr r0, _02002F3C ; =UNK_02106FC8
add r5, r1, #0x0
ldr r0, [r0, #0x0]
add r6, r2, #0x0
@@ -21,7 +23,7 @@ _02002F22:
add r0, r5, #0x0
bl FUN_02021F2C
add r1, r0, #0x0
ldr r0, _02002F3C ; =0x02106FC8
ldr r0, _02002F3C ; =UNK_02106FC8
add r2, r6, #0x0
ldr r0, [r0, #0x0]
add r0, r0, r4
@@ -30,7 +32,7 @@ _02002F22:
bl FUN_02021934
pop {r4-r6, pc}
.balign 4
_02002F3C: .word 0x02106FC8
_02002F3C: .word UNK_02106FC8
thumb_func_start FUN_02002F40
FUN_02002F40: ; 0x02002F40
@@ -93,7 +95,7 @@ FUN_02002F90: ; 0x02002F90
FUN_02002F9C: ; 0x02002F9C
push {r3-r5, lr}
lsl r4, r0, #0x2
ldr r0, _02002FCC ; =0x02106FC8
ldr r0, _02002FCC ; =UNK_02106FC8
add r5, r1, #0x0
ldr r0, [r0, #0x0]
add r0, r0, r4
@@ -106,7 +108,7 @@ _02002FB4:
add r0, r5, #0x0
bl FUN_02021F2C
add r1, r0, #0x0
ldr r0, _02002FCC ; =0x02106FC8
ldr r0, _02002FCC ; =UNK_02106FC8
ldr r0, [r0, #0x0]
add r0, r0, r4
add r0, #0x94
@@ -114,7 +116,7 @@ _02002FB4:
bl FUN_0202199C
pop {r3-r5, pc}
.balign 4
_02002FCC: .word 0x02106FC8
_02002FCC: .word UNK_02106FC8
thumb_func_start FUN_02002FD0
FUN_02002FD0: ; 0x02002FD0

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02107078
.extern UNK_02104780
.extern UNK_02107070
.text
thumb_func_start FUN_02003B98
@@ -23,7 +27,7 @@ FUN_02003B98: ; 0x02003B98
str r0, [r1, #0x0]
add r2, r4, #0x0
add r2, #0x90
ldr r1, _02003C04 ; =0x02104780
ldr r1, _02003C04 ; =UNK_02104780
ldr r2, [r2, #0x0]
add r0, r4, #0x0
mov r3, #0x0
@@ -36,7 +40,7 @@ FUN_02003B98: ; 0x02003B98
bl FUN_02004088
add r0, r4, #0x0
bl FUN_020040A4
ldr r0, _02003C08 ; =0x02107070
ldr r0, _02003C08 ; =UNK_02107070
mov r1, #0x0
str r1, [r0, #0x4]
ldr r0, _02003C0C ; =0x000BCD4C
@@ -48,8 +52,8 @@ FUN_02003B98: ; 0x02003B98
pop {r4-r6, pc}
nop
_02003C00: .word 0x000BBC00
_02003C04: .word 0x02104780
_02003C08: .word 0x02107070
_02003C04: .word UNK_02104780
_02003C08: .word UNK_02107070
_02003C0C: .word 0x000BCD4C
thumb_func_start FUN_02003C10
@@ -80,7 +84,7 @@ FUN_02003C40: ; 0x02003C40
push {r4, lr}
bl FUN_02003D30
add r4, r0, #0x0
ldr r0, _02003CDC ; =0x02107070
ldr r0, _02003CDC ; =UNK_02107070
ldr r0, [r0, #0x0]
cmp r0, #0x6
bhi _02003CD8
@@ -147,7 +151,7 @@ _02003CB0:
_02003CD8:
pop {r4, pc}
nop
_02003CDC: .word 0x02107070
_02003CDC: .word UNK_02107070
_02003CE0: .word 0x000BCD0E
_02003CE4: .word 0x000BCD08
@@ -159,12 +163,12 @@ FUN_02003CE8: ; 0x02003CE8
ldr r1, _02003CFC ; =0x000BCCFC
mov r2, #0x0
strh r2, [r0, r1]
ldr r0, _02003D00 ; =0x02107070
ldr r0, _02003D00 ; =UNK_02107070
str r4, [r0, #0x0]
pop {r4, pc}
.balign 4
_02003CFC: .word 0x000BCCFC
_02003D00: .word 0x02107070
_02003D00: .word UNK_02107070
thumb_func_start FUN_02003D04
FUN_02003D04: ; 0x02003D04
@@ -192,10 +196,10 @@ _02003D2C: .word 0x000BCD12
thumb_func_start FUN_02003D30
FUN_02003D30: ; 0x02003D30
ldr r0, _02003D34 ; =0x02107078
ldr r0, _02003D34 ; =UNK_02107078
bx lr
.balign 4
_02003D34: .word 0x02107078
_02003D34: .word UNK_02107078
thumb_func_start FUN_02003D38
FUN_02003D38: ; 0x02003D38

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C3DE0
.extern UNK_020ECB8C
.extern UNK_021C3DD8
.text
thumb_func_start FUN_020040F4
@@ -1635,11 +1639,11 @@ FUN_02004D60: ; 0x02004D60
push {r4, lr}
add r4, r0, #0x0
bl FUN_020C0174
ldr r0, _02004D70 ; =0x021C3DD8
ldr r0, _02004D70 ; =UNK_021C3DD8
str r4, [r0, #0x0]
pop {r4, pc}
nop
_02004D70: .word 0x021C3DD8
_02004D70: .word UNK_021C3DD8
thumb_func_start FUN_02004D74
FUN_02004D74: ; 0x02004D74
@@ -1682,10 +1686,10 @@ _02004DAA:
thumb_func_start FUN_02004DB4
FUN_02004DB4: ; 0x02004DB4
ldr r0, _02004DB8 ; =0x021C3DE0
ldr r0, _02004DB8 ; =UNK_021C3DE0
bx lr
.balign 4
_02004DB8: .word 0x021C3DE0
_02004DB8: .word UNK_021C3DE0
thumb_func_start FUN_02004DBC
FUN_02004DBC: ; 0x02004DBC
@@ -1979,7 +1983,7 @@ _02004FD6:
_02004FD8:
cmp r0, #0x1
bne _0200501A
ldr r5, _02005064 ; =0x020ECB8C
ldr r5, _02005064 ; =UNK_020ECB8C
mov r2, #0x0
_02004FE0:
ldrb r0, [r5, #0x0]
@@ -2063,7 +2067,7 @@ _02005060:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_02005064: .word 0x020ECB8C
_02005064: .word UNK_020ECB8C
thumb_func_start FUN_02005068
FUN_02005068: ; 0x02005068

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,11 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ECD4C
.extern UNK_02105AE8
.extern UNK_020ECBD0
.extern UNK_020FFA38
.text
thumb_func_start FUN_02006D98
@@ -195,7 +200,7 @@ FUN_02006ED4: ; 0x02006ED4
ldr r0, [sp, #0x18]
add r4, r5, #0x0
str r0, [sp, #0x14]
ldr r0, _02007254 ; =0x020ECD4C
ldr r0, _02007254 ; =UNK_020ECD4C
str r0, [sp, #0x1c]
_02006F30:
ldr r0, [r4, #0x0]
@@ -274,7 +279,7 @@ _02006F7E:
ldrh r0, [r4, #0x38]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _02007268 ; =0x020FFA38
ldr r0, _02007268 ; =UNK_020FFA38
add r2, r0, r1
ldrsh r0, [r0, r1]
mov r1, #0x2
@@ -283,7 +288,7 @@ _02006F7E:
ldrh r0, [r4, #0x3a]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _02007268 ; =0x020FFA38
ldr r0, _02007268 ; =UNK_020FFA38
add r2, r0, r1
ldrsh r0, [r0, r1]
mov r1, #0x2
@@ -292,7 +297,7 @@ _02006F7E:
ldrh r0, [r4, #0x3c]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _02007268 ; =0x020FFA38
ldr r0, _02007268 ; =UNK_020FFA38
add r2, r0, r1
ldrsh r0, [r0, r1]
mov r1, #0x2
@@ -604,21 +609,21 @@ _02007242:
add r0, r4, #0x0
add r0, #0x6c
ldrh r0, [r0, #0x0]
ldr r2, _02007278 ; =0x020ECBD0
ldr r6, _02007278 ; =0x020ECBD0
ldr r2, _02007278 ; =UNK_020ECBD0
ldr r6, _02007278 ; =UNK_020ECBD0
b _0200727C
nop
_02007250: .word 0x04000444
_02007254: .word 0x020ECD4C
_02007254: .word UNK_020ECD4C
_02007258: .word 0x000002E3
_0200725C: .word 0x04000454
_02007260: .word 0x040004AC
_02007264: .word 0x04000470
_02007268: .word 0x020FFA38
_02007268: .word UNK_020FFA38
_0200726C: .word 0x040004C0
_02007270: .word 0x00004210
_02007274: .word 0x040004A4
_02007278: .word 0x020ECBD0
_02007278: .word UNK_020ECBD0
_0200727C:
lsl r0, r0, #0x19
lsr r0, r0, #0x1e
@@ -3775,7 +3780,7 @@ FUN_02008904: ; 0x02008904
mov lr, r0
mov r0, #0x0
mov r12, r0
ldr r0, _02008A50 ; =0x02105AE8
ldr r0, _02008A50 ; =UNK_02105AE8
str r1, [sp, #0x0]
str r2, [sp, #0x4]
str r0, [sp, #0x10]
@@ -3862,7 +3867,7 @@ _02008992:
beq _02008A4A
mov r0, #0x0
str r0, [sp, #0x8]
ldr r0, _02008A50 ; =0x02105AE8
ldr r0, _02008A50 ; =UNK_02105AE8
str r0, [sp, #0x18]
_020089BA:
ldr r0, [sp, #0x18]
@@ -3945,7 +3950,7 @@ _02008A4A:
add sp, #0x1c
pop {r4-r7, pc}
nop
_02008A50: .word 0x02105AE8
_02008A50: .word UNK_02105AE8
thumb_func_start FUN_02008A54
FUN_02008A54: ; 0x02008A54

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C4694
.extern UNK_021C4674
.extern UNK_021C4670
.text
thumb_func_start FUN_02009EAC
@@ -47,7 +51,7 @@ FUN_02009EF0: ; 0x02009EF0
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
ldr r0, _02009F7C ; =0x021C4670
ldr r0, _02009F7C ; =UNK_021C4670
add r4, r1, #0x0
ldr r0, [r0, #0x0]
add r6, r2, #0x0
@@ -59,13 +63,13 @@ _02009F08:
ldr r0, [sp, #0x30]
mov r1, #0x3c
bl FUN_02016998
ldr r1, _02009F7C ; =0x021C4670
ldr r1, _02009F7C ; =UNK_021C4670
cmp r0, #0x0
str r0, [r1, #0x0]
bne _02009F1C
bl ErrorHandling
_02009F1C:
ldr r1, _02009F7C ; =0x021C4670
ldr r1, _02009F7C ; =UNK_021C4670
lsl r3, r6, #0x10
ldr r2, [sp, #0x30]
ldr r0, [r1, #0x0]
@@ -93,7 +97,7 @@ _02009F48:
str r0, [sp, #0x0]
mov r0, #0x1
str r0, [sp, #0x4]
ldr r0, _02009F7C ; =0x021C4670
ldr r0, _02009F7C ; =UNK_021C4670
ldr r2, [sp, #0x24]
ldr r3, [sp, #0x28]
ldr r0, [r0, #0x0]
@@ -112,58 +116,58 @@ _02009F78:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_02009F7C: .word 0x021C4670
_02009F7C: .word UNK_021C4670
thumb_func_start FUN_02009F80
FUN_02009F80: ; 0x02009F80
push {r3, lr}
ldr r0, _02009F9C ; =0x021C4670
ldr r0, _02009F9C ; =UNK_021C4670
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _02009F98
bl FUN_020B0870
ldr r0, _02009F9C ; =0x021C4670
ldr r0, _02009F9C ; =UNK_021C4670
ldr r0, [r0, #0x0]
add r0, #0x1c
bl FUN_020B0870
_02009F98:
pop {r3, pc}
nop
_02009F9C: .word 0x021C4670
_02009F9C: .word UNK_021C4670
thumb_func_start FUN_02009FA0
FUN_02009FA0: ; 0x02009FA0
push {r3, lr}
ldr r0, _02009FD4 ; =0x021C4670
ldr r0, _02009FD4 ; =UNK_021C4670
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _02009FAE
bl ErrorHandling
_02009FAE:
ldr r0, _02009FD4 ; =0x021C4670
ldr r0, _02009FD4 ; =UNK_021C4670
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x38]
bl FUN_0200A064
ldr r0, _02009FD4 ; =0x021C4670
ldr r0, _02009FD4 ; =UNK_021C4670
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x38]
bl FUN_0200A06C
ldr r0, _02009FD4 ; =0x021C4670
ldr r0, _02009FD4 ; =UNK_021C4670
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _02009FD4 ; =0x021C4670
ldr r0, _02009FD4 ; =UNK_021C4670
mov r1, #0x0
str r1, [r0, #0x0]
pop {r3, pc}
nop
_02009FD4: .word 0x021C4670
_02009FD4: .word UNK_021C4670
thumb_func_start FUN_02009FD8
FUN_02009FD8: ; 0x02009FD8
push {r4-r7, lr}
sub sp, #0xc
add r6, r0, #0x0
ldr r0, _0200A024 ; =0x021C4670
ldr r0, _0200A024 ; =UNK_021C4670
add r7, r1, #0x0
ldr r0, [r0, #0x0]
add r5, r2, #0x0
@@ -198,7 +202,7 @@ _0200A00C:
add sp, #0xc
pop {r4-r7, pc}
.balign 4
_0200A024: .word 0x021C4670
_0200A024: .word UNK_021C4670
_0200A028: .word FUN_020213A0
_0200A02C: .word FUN_0200A074
_0200A030: .word FUN_0200A0B8
@@ -209,7 +213,7 @@ _0200A038: .word FUN_0200A0DC
FUN_0200A03C: ; 0x0200A03C
push {r4, lr}
add r4, r0, #0x0
ldr r0, _0200A060 ; =0x021C4670
ldr r0, _0200A060 ; =UNK_021C4670
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _0200A04C
@@ -217,16 +221,16 @@ FUN_0200A03C: ; 0x0200A03C
_0200A04C:
cmp r4, #0x0
bne _0200A056
ldr r0, _0200A060 ; =0x021C4670
ldr r0, _0200A060 ; =UNK_021C4670
ldr r0, [r0, #0x0]
pop {r4, pc}
_0200A056:
ldr r0, _0200A060 ; =0x021C4670
ldr r0, _0200A060 ; =UNK_021C4670
ldr r0, [r0, #0x0]
add r0, #0x1c
pop {r4, pc}
nop
_0200A060: .word 0x021C4670
_0200A060: .word UNK_021C4670
thumb_func_start FUN_0200A064
FUN_0200A064: ; 0x0200A064
@@ -246,7 +250,7 @@ _0200A070: .word FUN_02020404
FUN_0200A074: ; 0x0200A074
push {r4, lr}
add r3, r0, #0x0
ldr r0, _0200A090 ; =0x021C4670
ldr r0, _0200A090 ; =UNK_021C4670
add r2, r1, #0x0
ldr r0, [r0, #0x0]
add r1, r3, #0x0
@@ -258,13 +262,13 @@ _0200A08C:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_0200A090: .word 0x021C4670
_0200A090: .word UNK_021C4670
thumb_func_start FUN_0200A094
FUN_0200A094: ; 0x0200A094
push {r4, lr}
add r3, r0, #0x0
ldr r0, _0200A0B4 ; =0x021C4670
ldr r0, _0200A0B4 ; =UNK_021C4670
add r2, r1, #0x0
ldr r0, [r0, #0x0]
add r1, r3, #0x0
@@ -277,13 +281,13 @@ _0200A0AE:
add r0, r4, #0x0
pop {r4, pc}
nop
_0200A0B4: .word 0x021C4670
_0200A0B4: .word UNK_021C4670
thumb_func_start FUN_0200A0B8
FUN_0200A0B8: ; 0x0200A0B8
push {r4, lr}
add r1, r0, #0x0
ldr r0, _0200A0D4 ; =0x021C4670
ldr r0, _0200A0D4 ; =UNK_021C4670
ldr r0, [r0, #0x0]
bl FUN_020B0BB0
add r4, r0, #0x0
@@ -295,14 +299,14 @@ _0200A0D0:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_0200A0D4: .word 0x021C4670
_0200A0D4: .word UNK_021C4670
_0200A0D8: .word 0x0000FFFE
thumb_func_start FUN_0200A0DC
FUN_0200A0DC: ; 0x0200A0DC
push {r4, lr}
add r1, r0, #0x0
ldr r0, _0200A0FC ; =0x021C4670
ldr r0, _0200A0FC ; =UNK_021C4670
ldr r0, [r0, #0x0]
add r0, #0x1c
bl FUN_020B0BB0
@@ -315,7 +319,7 @@ _0200A0F6:
add r0, r4, #0x0
pop {r4, pc}
nop
_0200A0FC: .word 0x021C4670
_0200A0FC: .word UNK_021C4670
_0200A100: .word 0x0000FFFE
thumb_func_start FUN_0200A104
@@ -477,7 +481,7 @@ FUN_0200A208: ; 0x0200A208
str r4, [sp, #0x0]
mov r0, #0x1
str r0, [sp, #0x4]
ldr r0, _0200A268 ; =0x021C4694
ldr r0, _0200A268 ; =UNK_021C4694
add r1, r5, #0x0
add r2, r7, #0x0
add r3, r6, #0x0
@@ -494,7 +498,7 @@ _0200A23A:
str r4, [sp, #0x0]
mov r0, #0x2
str r0, [sp, #0x4]
ldr r0, _0200A270 ; =0x021C4674
ldr r0, _0200A270 ; =UNK_021C4674
add r1, r5, #0x0
add r2, r7, #0x0
add r3, r6, #0x0
@@ -504,9 +508,9 @@ _0200A25E:
pop {r3-r7, pc}
nop
_0200A264: .word 0x04000050
_0200A268: .word 0x021C4694
_0200A268: .word UNK_021C4694
_0200A26C: .word 0x04001050
_0200A270: .word 0x021C4674
_0200A270: .word UNK_021C4674
thumb_func_start FUN_0200A274
FUN_0200A274: ; 0x0200A274
@@ -539,23 +543,23 @@ _0200A2A8: .word 0x04001050
thumb_func_start FUN_0200A2AC
FUN_0200A2AC: ; 0x0200A2AC
push {r3, lr}
ldr r0, _0200A2CC ; =0x021C4694
ldr r0, _0200A2CC ; =UNK_021C4694
mov r1, #0x0
mov r2, #0x20
bl MI_CpuFill8
ldr r0, _0200A2D0 ; =0x021C4674
ldr r0, _0200A2D0 ; =UNK_021C4674
mov r1, #0x0
mov r2, #0x20
bl MI_CpuFill8
ldr r0, _0200A2D4 ; =0x021C4674
ldr r0, _0200A2D4 ; =UNK_021C4674
mov r1, #0x0
str r1, [r0, #0x3c]
str r1, [r0, #0x1c]
pop {r3, pc}
.balign 4
_0200A2CC: .word 0x021C4694
_0200A2D0: .word 0x021C4674
_0200A2D4: .word 0x021C4674
_0200A2CC: .word UNK_021C4694
_0200A2D0: .word UNK_021C4674
_0200A2D4: .word UNK_021C4674
thumb_func_start FUN_0200A2D8
FUN_0200A2D8: ; 0x0200A2D8
@@ -564,59 +568,59 @@ FUN_0200A2D8: ; 0x0200A2D8
mov r0, #0x1
tst r0, r4
beq _0200A2F2
ldr r0, _0200A30C ; =0x021C4694
ldr r0, _0200A30C ; =UNK_021C4694
mov r1, #0x0
mov r2, #0x20
bl MI_CpuFill8
ldr r0, _0200A310 ; =0x021C4674
ldr r0, _0200A310 ; =UNK_021C4674
mov r1, #0x0
str r1, [r0, #0x3c]
_0200A2F2:
mov r0, #0x2
tst r0, r4
beq _0200A308
ldr r0, _0200A314 ; =0x021C4674
ldr r0, _0200A314 ; =UNK_021C4674
mov r1, #0x0
mov r2, #0x20
bl MI_CpuFill8
ldr r0, _0200A310 ; =0x021C4674
ldr r0, _0200A310 ; =UNK_021C4674
mov r1, #0x0
str r1, [r0, #0x1c]
_0200A308:
pop {r4, pc}
nop
_0200A30C: .word 0x021C4694
_0200A310: .word 0x021C4674
_0200A314: .word 0x021C4674
_0200A30C: .word UNK_021C4694
_0200A310: .word UNK_021C4674
_0200A314: .word UNK_021C4674
thumb_func_start FUN_0200A318
FUN_0200A318: ; 0x0200A318
push {r3, lr}
ldr r0, _0200A338 ; =0x021C4674
ldr r0, _0200A338 ; =UNK_021C4674
ldr r0, [r0, #0x3c]
cmp r0, #0x0
beq _0200A328
ldr r0, _0200A33C ; =0x021C4694
ldr r0, _0200A33C ; =UNK_021C4694
bl FUN_0200A104
_0200A328:
ldr r0, _0200A338 ; =0x021C4674
ldr r0, _0200A338 ; =UNK_021C4674
ldr r0, [r0, #0x1c]
cmp r0, #0x0
beq _0200A336
ldr r0, _0200A340 ; =0x021C4674
ldr r0, _0200A340 ; =UNK_021C4674
bl FUN_0200A104
_0200A336:
pop {r3, pc}
.balign 4
_0200A338: .word 0x021C4674
_0200A33C: .word 0x021C4694
_0200A340: .word 0x021C4674
_0200A338: .word UNK_021C4674
_0200A33C: .word UNK_021C4694
_0200A340: .word UNK_021C4674
thumb_func_start FUN_0200A344
FUN_0200A344: ; 0x0200A344
cmp r0, #0x3
bne _0200A35A
ldr r0, _0200A380 ; =0x021C4674
ldr r0, _0200A380 ; =UNK_021C4674
ldr r1, [r0, #0x3c]
cmp r1, #0x0
bne _0200A37A
@@ -628,7 +632,7 @@ FUN_0200A344: ; 0x0200A344
_0200A35A:
cmp r0, #0x1
bne _0200A36A
ldr r0, _0200A380 ; =0x021C4674
ldr r0, _0200A380 ; =UNK_021C4674
ldr r0, [r0, #0x3c]
cmp r0, #0x0
bne _0200A37A
@@ -637,7 +641,7 @@ _0200A35A:
_0200A36A:
cmp r0, #0x2
bne _0200A37A
ldr r0, _0200A380 ; =0x021C4674
ldr r0, _0200A380 ; =UNK_021C4674
ldr r0, [r0, #0x1c]
cmp r0, #0x0
bne _0200A37A
@@ -647,4 +651,4 @@ _0200A37A:
mov r0, #0x0
bx lr
nop
_0200A380: .word 0x021C4674
_0200A380: .word UNK_021C4674

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ECE6C
.extern UNK_020ECE64
.extern UNK_020ECE6E
.text
thumb_func_start FUN_0200AA80
@@ -1450,7 +1454,7 @@ FUN_0200B59C: ; 0x0200B59C
add r0, r4, #0x0
bl FUN_02015CE0
add r4, r0, #0x0
ldr r2, _0200B620 ; =0x020ECE64
ldr r2, _0200B620 ; =UNK_020ECE64
lsl r3, r6, #0x1
ldrh r2, [r2, r3]
ldr r3, [r5, #0x4]
@@ -1497,7 +1501,7 @@ _0200B5EE:
_0200B61E:
pop {r3-r7, pc}
.balign 4
_0200B620: .word 0x020ECE64
_0200B620: .word UNK_020ECE64
_0200B624: .word 0x0000017E
thumb_func_start FUN_0200B628
@@ -1975,7 +1979,7 @@ FUN_0200B9A8: ; 0x0200B9A8
push {r3-r5, lr}
sub sp, #0x18
add r4, r0, #0x0
ldr r0, _0200B9E4 ; =0x020ECE6E
ldr r0, _0200B9E4 ; =UNK_020ECE6E
lsl r5, r1, #0x2
ldrh r1, [r0, r5]
lsl r3, r3, #0x10
@@ -1993,7 +1997,7 @@ FUN_0200B9A8: ; 0x0200B9A8
ldr r1, [r4, #0x4]
add r0, r2, #0x0
ldr r2, [r1, #0x14]
ldr r1, _0200B9E8 ; =0x020ECE6C
ldr r1, _0200B9E8 ; =UNK_020ECE6C
ldrh r1, [r1, r5]
add r1, r2, r1
mov r2, #0x0
@@ -2002,8 +2006,8 @@ FUN_0200B9A8: ; 0x0200B9A8
add sp, #0x18
pop {r3-r5, pc}
.balign 4
_0200B9E4: .word 0x020ECE6E
_0200B9E8: .word 0x020ECE6C
_0200B9E4: .word UNK_020ECE6E
_0200B9E8: .word UNK_020ECE6C
thumb_func_start FUN_0200B9EC
FUN_0200B9EC: ; 0x0200B9EC

View File

@@ -1,13 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern gUnknown21C48B8
.text
thumb_func_start FUN_0200CA44
FUN_0200CA44: ; 0x0200CA44
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _0200CA5C ; =0x021C48B8
ldr r0, _0200CA5C ; =gUnknown21C48B8
add r4, r1, #0x0
add r3, r2, #0x0
ldr r0, [r0, #0x18]
@@ -16,13 +18,13 @@ FUN_0200CA44: ; 0x0200CA44
bl FUN_0201B60C
pop {r3-r5, pc}
nop
_0200CA5C: .word 0x021C48B8
_0200CA5C: .word gUnknown21C48B8
thumb_func_start FUN_0200CA60
FUN_0200CA60: ; 0x0200CA60
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _0200CA78 ; =0x021C48B8
ldr r0, _0200CA78 ; =gUnknown21C48B8
add r4, r1, #0x0
add r3, r2, #0x0
ldr r0, [r0, #0x1c]
@@ -31,13 +33,13 @@ FUN_0200CA60: ; 0x0200CA60
bl FUN_0201B60C
pop {r3-r5, pc}
nop
_0200CA78: .word 0x021C48B8
_0200CA78: .word gUnknown21C48B8
thumb_func_start FUN_0200CA7C
FUN_0200CA7C: ; 0x0200CA7C
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _0200CA94 ; =0x021C48B8
ldr r0, _0200CA94 ; =gUnknown21C48B8
add r4, r1, #0x0
add r3, r2, #0x0
ldr r0, [r0, #0x24]
@@ -46,13 +48,13 @@ FUN_0200CA7C: ; 0x0200CA7C
bl FUN_0201B60C
pop {r3-r5, pc}
nop
_0200CA94: .word 0x021C48B8
_0200CA94: .word gUnknown21C48B8
thumb_func_start FUN_0200CA98
FUN_0200CA98: ; 0x0200CA98
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _0200CAB0 ; =0x021C48B8
ldr r0, _0200CAB0 ; =gUnknown21C48B8
add r4, r1, #0x0
add r3, r2, #0x0
ldr r0, [r0, #0x20]
@@ -61,7 +63,7 @@ FUN_0200CA98: ; 0x0200CA98
bl FUN_0201B60C
pop {r3-r5, pc}
nop
_0200CAB0: .word 0x021C48B8
_0200CAB0: .word gUnknown21C48B8
thumb_func_start FUN_0200CAB4
FUN_0200CAB4: ; 0x0200CAB4

View File

@@ -1,6 +1,11 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ECE88
.extern UNK_020ECE98
.extern UNK_020ECEC0
.extern UNK_020ECEA8
.text
thumb_func_start FUN_0200CABC
@@ -2345,7 +2350,7 @@ _0200DDA8: .word 0x0000016F
FUN_0200DDAC: ; 0x0200DDAC
push {r4-r6, lr}
sub sp, #0x18
ldr r5, _0200DDD4 ; =0x020ECEA8
ldr r5, _0200DDD4 ; =UNK_020ECEA8
add r4, sp, #0x0
add r6, r0, #0x0
add r3, r1, #0x0
@@ -2363,7 +2368,7 @@ FUN_0200DDAC: ; 0x0200DDAC
add sp, #0x18
pop {r4-r6, pc}
.balign 4
_0200DDD4: .word 0x020ECEA8
_0200DDD4: .word UNK_020ECEA8
thumb_func_start FUN_0200DDD8
FUN_0200DDD8: ; 0x0200DDD8
@@ -2411,7 +2416,7 @@ _0200DE2C: .word 0x00015CD5
FUN_0200DE30: ; 0x0200DE30
push {r4-r7, lr}
sub sp, #0x34
ldr r5, _0200DE7C ; =0x020ECEC0
ldr r5, _0200DE7C ; =UNK_020ECEC0
add r6, r2, #0x0
add r4, r0, #0x0
add r7, r1, #0x0
@@ -2445,7 +2450,7 @@ _0200DE40:
add sp, #0x34
pop {r4-r7, pc}
nop
_0200DE7C: .word 0x020ECEC0
_0200DE7C: .word UNK_020ECEC0
thumb_func_start FUN_0200DE80
FUN_0200DE80: ; 0x0200DE80
@@ -2513,7 +2518,7 @@ FUN_0200DEF4: ; 0x0200DEF4
lsl r1, r1, #0x8
bl FUN_02016998
add r2, sp, #0x18
ldr r3, _0200DFCC ; =0x020ECE98
ldr r3, _0200DFCC ; =UNK_020ECE98
add r4, r0, #0x0
add r7, r2, #0x0
ldmia r3!, {r0-r1}
@@ -2527,7 +2532,7 @@ FUN_0200DEF4: ; 0x0200DEF4
ldrh r2, [r5, r2]
add r3, r7, #0x0
bl FUN_02012400
ldr r3, _0200DFD0 ; =0x020ECE88
ldr r3, _0200DFD0 ; =UNK_020ECE88
add r2, sp, #0x8
add r7, r2, #0x0
ldmia r3!, {r0-r1}
@@ -2594,8 +2599,8 @@ FUN_0200DEF4: ; 0x0200DEF4
pop {r3-r7, pc}
nop
_0200DFC8: .word 0x00000162
_0200DFCC: .word 0x020ECE98
_0200DFD0: .word 0x020ECE88
_0200DFCC: .word UNK_020ECE98
_0200DFD0: .word UNK_020ECE88
_0200DFD4: .word 0x00015CD5
thumb_func_start FUN_0200DFD8

View File

@@ -1,6 +1,16 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C46B8
.extern UNK_020ECEF4
.extern UNK_021C4740
.extern UNK_021C46F8
.extern UNK_021C4728
.extern UNK_021C47F4
.extern UNK_021C46C8
.extern UNK_021C46B4
.extern UNK_021C46BC
.text
thumb_func_start FUN_0200E1D0
@@ -21,20 +31,20 @@ _0200E1E6:
bne _0200E1F0
bl ErrorHandling
_0200E1F0:
ldr r0, _0200E2AC ; =0x021C47F4
ldr r0, _0200E2AC ; =UNK_021C47F4
ldrh r0, [r0, #0xc]
cmp r0, #0x0
beq _0200E1FC
bl ErrorHandling
_0200E1FC:
ldr r0, _0200E2B0 ; =0x021C46B4
ldr r0, _0200E2B0 ; =UNK_021C46B4
bl FUN_0200E808
ldr r1, _0200E2B0 ; =0x021C46B4
ldr r1, _0200E2B0 ; =UNK_021C46B4
add r0, r5, #0x0
bl FUN_0200E558
ldr r0, _0200E2B4 ; =0x021C4728
ldr r0, _0200E2B4 ; =UNK_021C4728
bl FUN_0200E5F4
ldr r0, _0200E2B0 ; =0x021C46B4
ldr r0, _0200E2B0 ; =UNK_021C46B4
add r1, r6, #0x0
bl FUN_0200E75C
add r5, r0, #0x0
@@ -42,16 +52,16 @@ _0200E1FC:
str r0, [sp, #0x0]
str r0, [sp, #0x4]
str r0, [sp, #0x8]
ldr r0, _0200E2B8 ; =0x021C4740
ldr r0, _0200E2B8 ; =UNK_021C4740
ldr r2, [sp, #0x30]
str r0, [sp, #0xc]
ldr r0, _0200E2B4 ; =0x021C4728
ldr r0, _0200E2B4 ; =UNK_021C4728
ldr r3, [sp, #0x34]
str r0, [sp, #0x10]
ldr r0, [sp, #0x38]
add r1, r4, #0x0
str r0, [sp, #0x14]
ldr r0, _0200E2BC ; =0x021C46C8
ldr r0, _0200E2BC ; =UNK_021C46C8
str r5, [sp, #0x18]
bl FUN_0200E5C8
mov r0, #0x0
@@ -59,71 +69,71 @@ _0200E1FC:
str r0, [sp, #0x4]
mov r0, #0x1
str r0, [sp, #0x8]
ldr r0, _0200E2B8 ; =0x021C4740
ldr r0, _0200E2B8 ; =UNK_021C4740
ldr r2, [sp, #0x30]
str r0, [sp, #0xc]
ldr r0, _0200E2B4 ; =0x021C4728
ldr r0, _0200E2B4 ; =UNK_021C4728
ldr r3, [sp, #0x34]
str r0, [sp, #0x10]
ldr r0, [sp, #0x38]
add r1, r7, #0x0
str r0, [sp, #0x14]
ldr r0, _0200E2C0 ; =0x021C46F8
ldr r0, _0200E2C0 ; =UNK_021C46F8
str r5, [sp, #0x18]
bl FUN_0200E5C8
ldr r0, _0200E2AC ; =0x021C47F4
ldr r0, _0200E2AC ; =UNK_021C47F4
mov r1, #0x1
strh r1, [r0, #0xc]
ldr r0, _0200E2C4 ; =0x021C46B8
ldr r1, _0200E2BC ; =0x021C46C8
ldr r0, _0200E2C4 ; =UNK_021C46B8
ldr r1, _0200E2BC ; =UNK_021C46C8
bl FUN_0200E528
ldr r0, _0200E2C8 ; =0x021C46BC
ldr r1, _0200E2C0 ; =0x021C46F8
ldr r0, _0200E2C8 ; =UNK_021C46BC
ldr r1, _0200E2C0 ; =UNK_021C46F8
bl FUN_0200E528
ldr r0, _0200E2CC ; =0x021C46B4
ldr r0, _0200E2CC ; =UNK_021C46B4
ldr r0, [r0, #0xc]
cmp r0, #0x0
beq _0200E28E
ldr r0, _0200E2B0 ; =0x021C46B4
ldr r0, _0200E2B0 ; =UNK_021C46B4
add r0, #0x14
bl FUN_0200E7A8
ldr r1, _0200E2D0 ; =0x0000014E
ldr r0, _0200E2B0 ; =0x021C46B4
ldr r0, _0200E2B0 ; =UNK_021C46B4
mov r2, #0x1
strb r2, [r0, r1]
_0200E28E:
ldr r0, _0200E2B0 ; =0x021C46B4
ldr r0, _0200E2B0 ; =UNK_021C46B4
ldr r0, [r0, #0x10]
cmp r0, #0x0
beq _0200E2A6
ldr r0, _0200E2B0 ; =0x021C46B4
ldr r0, _0200E2B0 ; =UNK_021C46B4
add r0, #0x44
bl FUN_0200E7A8
ldr r1, _0200E2D4 ; =0x0000014F
ldr r0, _0200E2B0 ; =0x021C46B4
ldr r0, _0200E2B0 ; =UNK_021C46B4
mov r2, #0x1
strb r2, [r0, r1]
_0200E2A6:
add sp, #0x1c
pop {r4-r7, pc}
nop
_0200E2AC: .word 0x021C47F4
_0200E2B0: .word 0x021C46B4
_0200E2B4: .word 0x021C4728
_0200E2B8: .word 0x021C4740
_0200E2BC: .word 0x021C46C8
_0200E2C0: .word 0x021C46F8
_0200E2C4: .word 0x021C46B8
_0200E2C8: .word 0x021C46BC
_0200E2CC: .word 0x021C46B4
_0200E2AC: .word UNK_021C47F4
_0200E2B0: .word UNK_021C46B4
_0200E2B4: .word UNK_021C4728
_0200E2B8: .word UNK_021C4740
_0200E2BC: .word UNK_021C46C8
_0200E2C0: .word UNK_021C46F8
_0200E2C4: .word UNK_021C46B8
_0200E2C8: .word UNK_021C46BC
_0200E2CC: .word UNK_021C46B4
_0200E2D0: .word 0x0000014E
_0200E2D4: .word 0x0000014F
thumb_func_start FUN_0200E2D8
FUN_0200E2D8: ; 0x0200E2D8
push {r4, lr}
ldr r0, _0200E300 ; =0x021C47F4
ldr r4, _0200E304 ; =0x021C46B4
ldr r0, _0200E300 ; =UNK_021C47F4
ldr r4, _0200E304 ; =UNK_021C46B4
ldrh r0, [r0, #0xc]
cmp r0, #0x0
beq _0200E2FC
@@ -140,12 +150,12 @@ FUN_0200E2D8: ; 0x0200E2D8
_0200E2FC:
pop {r4, pc}
nop
_0200E300: .word 0x021C47F4
_0200E304: .word 0x021C46B4
_0200E300: .word UNK_021C47F4
_0200E304: .word UNK_021C46B4
thumb_func_start FUN_0200E308
FUN_0200E308: ; 0x0200E308
ldr r0, _0200E318 ; =0x021C47F4
ldr r0, _0200E318 ; =UNK_021C47F4
ldrh r0, [r0, #0xc]
cmp r0, #0x0
bne _0200E314
@@ -155,54 +165,54 @@ _0200E314:
mov r0, #0x0
bx lr
.balign 4
_0200E318: .word 0x021C47F4
_0200E318: .word UNK_021C47F4
thumb_func_start FUN_0200E31C
FUN_0200E31C: ; 0x0200E31C
push {r3, lr}
ldr r0, _0200E368 ; =0x021C4728
ldr r0, _0200E368 ; =UNK_021C4728
mov r1, #0x0
bl FUN_0200E6A0
ldr r0, _0200E368 ; =0x021C4728
ldr r0, _0200E368 ; =UNK_021C4728
mov r1, #0x1
bl FUN_0200E6A0
ldr r0, _0200E36C ; =0x021C46B4
ldr r0, _0200E36C ; =UNK_021C46B4
ldr r1, [r0, #0x4]
cmp r1, #0x0
beq _0200E33A
mov r1, #0x2
str r1, [r0, #0x20]
_0200E33A:
ldr r0, _0200E36C ; =0x021C46B4
ldr r0, _0200E36C ; =UNK_021C46B4
ldr r1, [r0, #0x8]
cmp r1, #0x0
beq _0200E346
mov r1, #0x2
str r1, [r0, #0x50]
_0200E346:
ldr r0, _0200E370 ; =0x021C46B8
ldr r1, _0200E374 ; =0x021C46C8
ldr r0, _0200E370 ; =UNK_021C46B8
ldr r1, _0200E374 ; =UNK_021C46C8
bl FUN_0200E528
ldr r0, _0200E378 ; =0x021C46BC
ldr r1, _0200E37C ; =0x021C46F8
ldr r0, _0200E378 ; =UNK_021C46BC
ldr r1, _0200E37C ; =UNK_021C46F8
bl FUN_0200E528
ldr r0, _0200E380 ; =0x021C47F4
ldr r0, _0200E380 ; =UNK_021C47F4
mov r1, #0x0
strh r1, [r0, #0xc]
strb r1, [r0, #0xe]
strb r1, [r0, #0xf]
ldr r0, _0200E384 ; =0x021C46B4
ldr r0, _0200E384 ; =UNK_021C46B4
bl FUN_0200E808
pop {r3, pc}
.balign 4
_0200E368: .word 0x021C4728
_0200E36C: .word 0x021C46B4
_0200E370: .word 0x021C46B8
_0200E374: .word 0x021C46C8
_0200E378: .word 0x021C46BC
_0200E37C: .word 0x021C46F8
_0200E380: .word 0x021C47F4
_0200E384: .word 0x021C46B4
_0200E368: .word UNK_021C4728
_0200E36C: .word UNK_021C46B4
_0200E370: .word UNK_021C46B8
_0200E374: .word UNK_021C46C8
_0200E378: .word UNK_021C46BC
_0200E37C: .word UNK_021C46F8
_0200E380: .word UNK_021C47F4
_0200E384: .word UNK_021C46B4
thumb_func_start FUN_0200E388
FUN_0200E388: ; 0x0200E388
@@ -255,12 +265,12 @@ _0200E3D2:
mov r2, #0x2
bl GXS_LoadBGPltt
_0200E3DA:
ldr r0, _0200E41C ; =0x021C4740
ldr r0, _0200E41C ; =UNK_021C4740
mov r1, #0x1
add r2, r4, #0x0
bl FUN_02011634
mov r2, #0x0
ldr r0, _0200E41C ; =0x021C4740
ldr r0, _0200E41C ; =UNK_021C4740
mov r1, #0x3f
add r3, r2, #0x0
str r4, [sp, #0x0]
@@ -268,12 +278,12 @@ _0200E3DA:
mov r1, #0x0
str r1, [sp, #0x0]
str r1, [sp, #0x4]
ldr r0, _0200E41C ; =0x021C4740
ldr r0, _0200E41C ; =UNK_021C4740
add r2, r1, #0x0
add r3, r1, #0x0
str r4, [sp, #0x8]
bl FUN_02011698
ldr r0, _0200E41C ; =0x021C4740
ldr r0, _0200E41C ; =UNK_021C4740
mov r1, #0x20
mov r2, #0x0
add r3, r4, #0x0
@@ -284,7 +294,7 @@ _0200E3DA:
add sp, #0x10
bx r3
nop
_0200E41C: .word 0x021C4740
_0200E41C: .word UNK_021C4740
thumb_func_start FUN_0200E420
FUN_0200E420: ; 0x0200E420
@@ -340,7 +350,7 @@ FUN_0200E460: ; 0x0200E460
ldr r0, [r4, #0x3c]
cmp r0, #0x0
bne _0200E490
ldr r0, _0200E4B4 ; =0x021C47F4
ldr r0, _0200E4B4 ; =UNK_021C47F4
mov r1, #0x0
strb r1, [r0, #0xe]
_0200E490:
@@ -353,7 +363,7 @@ _0200E490:
ldr r0, [r4, #0x3c]
cmp r0, #0x0
bne _0200E4AA
ldr r0, _0200E4B4 ; =0x021C47F4
ldr r0, _0200E4B4 ; =UNK_021C47F4
mov r1, #0x0
strb r1, [r0, #0xf]
_0200E4AA:
@@ -361,7 +371,7 @@ _0200E4AA:
bl FUN_0200E808
pop {r4, pc}
nop
_0200E4B4: .word 0x021C47F4
_0200E4B4: .word UNK_021C47F4
thumb_func_start FUN_0200E4B8
FUN_0200E4B8: ; 0x0200E4B8
@@ -445,12 +455,12 @@ FUN_0200E544: ; 0x0200E544
push {r3, lr}
ldr r1, [r0, #0x0]
lsl r2, r1, #0x2
ldr r1, _0200E554 ; =0x020ECEF4
ldr r1, _0200E554 ; =UNK_020ECEF4
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
nop
_0200E554: .word 0x020ECEF4
_0200E554: .word UNK_020ECEF4
thumb_func_start FUN_0200E558
FUN_0200E558: ; 0x0200E558

View File

@@ -1,6 +1,64 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ED034
.extern UNK_020ED274
.extern UNK_02105B18
.extern UNK_02105B78
.extern UNK_020ED154
.extern UNK_020ECFC6
.extern UNK_020ED0C4
.extern UNK_020ED178
.extern UNK_02105B08
.extern UNK_020ED0A0
.extern UNK_020ED2D8
.extern UNK_020ECFCC
.extern UNK_02105AF8
.extern UNK_02105B30
.extern UNK_020ECF9F
.extern UNK_020ECFA8
.extern UNK_020ED040
.extern UNK_020ED004
.extern UNK_020ECF9C
.extern UNK_020ED208
.extern UNK_020FFA38
.extern UNK_020ECFA5
.extern UNK_020ED070
.extern UNK_020ED0E8
.extern UNK_020ECFC0
.extern UNK_020ED010
.extern UNK_020ECFEC
.extern UNK_020ED060
.extern UNK_02105B10
.extern UNK_020ECFAE
.extern UNK_020ECFBA
.extern UNK_020ED298
.extern UNK_020ED050
.extern UNK_020ED19C
.extern UNK_02105B20
.extern UNK_020ED01C
.extern UNK_020ED10C
.extern UNK_020ECFB4
.extern UNK_020ECFE0
.extern UNK_02105B38
.extern UNK_020ED250
.extern UNK_020ECFA2
.extern UNK_020ED318
.extern UNK_020ED22C
.extern UNK_020ED090
.extern UNK_020ECFD5
.extern UNK_02105B40
.extern UNK_02105B28
.extern UNK_020ED1C0
.extern UNK_020ECFF8
.extern UNK_02105B00
.extern UNK_020ED1E4
.extern UNK_020ED080
.extern UNK_020ED130
.extern UNK_02105B48
.extern UNK_020ED358
.extern UNK_020ED028
.text
thumb_func_start FUN_0200E850
@@ -44,12 +102,12 @@ FUN_0200E88C: ; 0x0200E88C
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200E8B4
ldr r1, _0200E8BC ; =0x020ECF9F
ldr r0, _0200E8C0 ; =0x02105AF8
ldr r1, _0200E8BC ; =UNK_020ECF9F
ldr r0, _0200E8C0 ; =UNK_02105AF8
str r1, [r0, #0x30]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200E8C4 ; =0x02105B28
ldr r1, _0200E8C4 ; =UNK_02105B28
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x1
@@ -61,9 +119,9 @@ _0200E8B4:
bl FUN_02010F70
pop {r4, pc}
nop
_0200E8BC: .word 0x020ECF9F
_0200E8C0: .word 0x02105AF8
_0200E8C4: .word 0x02105B28
_0200E8BC: .word UNK_020ECF9F
_0200E8C0: .word UNK_02105AF8
_0200E8C4: .word UNK_02105B28
thumb_func_start FUN_0200E8C8
FUN_0200E8C8: ; 0x0200E8C8
@@ -72,12 +130,12 @@ FUN_0200E8C8: ; 0x0200E8C8
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200E8EE
ldr r1, _0200E8F4 ; =0x020ECF9C
ldr r0, _0200E8F8 ; =0x02105AF8
ldr r1, _0200E8F4 ; =UNK_020ECF9C
ldr r0, _0200E8F8 ; =UNK_02105AF8
str r1, [r0, #0x40]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200E8FC ; =0x02105B38
ldr r1, _0200E8FC ; =UNK_02105B38
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x0
@@ -88,9 +146,9 @@ _0200E8EE:
bl FUN_02010F70
pop {r4, pc}
.balign 4
_0200E8F4: .word 0x020ECF9C
_0200E8F8: .word 0x02105AF8
_0200E8FC: .word 0x02105B38
_0200E8F4: .word UNK_020ECF9C
_0200E8F8: .word UNK_02105AF8
_0200E8FC: .word UNK_02105B38
thumb_func_start FUN_0200E900
FUN_0200E900: ; 0x0200E900
@@ -99,12 +157,12 @@ FUN_0200E900: ; 0x0200E900
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200E928
ldr r1, _0200E930 ; =0x020ECFA5
ldr r0, _0200E934 ; =0x02105AF8
ldr r1, _0200E930 ; =UNK_020ECFA5
ldr r0, _0200E934 ; =UNK_02105AF8
str r1, [r0, #0x48]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200E938 ; =0x02105B40
ldr r1, _0200E938 ; =UNK_02105B40
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x1
@@ -116,9 +174,9 @@ _0200E928:
bl FUN_02010F70
pop {r4, pc}
nop
_0200E930: .word 0x020ECFA5
_0200E934: .word 0x02105AF8
_0200E938: .word 0x02105B40
_0200E930: .word UNK_020ECFA5
_0200E934: .word UNK_02105AF8
_0200E938: .word UNK_02105B40
thumb_func_start FUN_0200E93C
FUN_0200E93C: ; 0x0200E93C
@@ -127,12 +185,12 @@ FUN_0200E93C: ; 0x0200E93C
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200E962
ldr r1, _0200E968 ; =0x020ECFA2
ldr r0, _0200E96C ; =0x02105AF8
ldr r1, _0200E968 ; =UNK_020ECFA2
ldr r0, _0200E96C ; =UNK_02105AF8
str r1, [r0, #0x38]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200E970 ; =0x02105B30
ldr r1, _0200E970 ; =UNK_02105B30
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x0
@@ -143,9 +201,9 @@ _0200E962:
bl FUN_02010F70
pop {r4, pc}
.balign 4
_0200E968: .word 0x020ECFA2
_0200E96C: .word 0x02105AF8
_0200E970: .word 0x02105B30
_0200E968: .word UNK_020ECFA2
_0200E96C: .word UNK_02105AF8
_0200E970: .word UNK_02105B30
thumb_func_start FUN_0200E974
FUN_0200E974: ; 0x0200E974
@@ -156,7 +214,7 @@ FUN_0200E974: ; 0x0200E974
bne _0200E996
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200E99C ; =0x020ED0E8
ldr r1, _0200E99C ; =UNK_020ED0E8
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x1
@@ -168,7 +226,7 @@ _0200E996:
bl FUN_0200FD1C
pop {r4, pc}
.balign 4
_0200E99C: .word 0x020ED0E8
_0200E99C: .word UNK_020ED0E8
thumb_func_start FUN_0200E9A0
FUN_0200E9A0: ; 0x0200E9A0
@@ -179,7 +237,7 @@ FUN_0200E9A0: ; 0x0200E9A0
bne _0200E9C0
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200E9C8 ; =0x020ED154
ldr r1, _0200E9C8 ; =UNK_020ED154
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x0
@@ -190,7 +248,7 @@ _0200E9C0:
bl FUN_0200FD1C
pop {r4, pc}
nop
_0200E9C8: .word 0x020ED154
_0200E9C8: .word UNK_020ED154
thumb_func_start FUN_0200E9CC
FUN_0200E9CC: ; 0x0200E9CC
@@ -199,12 +257,12 @@ FUN_0200E9CC: ; 0x0200E9CC
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200E9F4
ldr r1, _0200E9FC ; =0x020ECFC0
ldr r0, _0200EA00 ; =0x02105AF8
ldr r1, _0200E9FC ; =UNK_020ECFC0
ldr r0, _0200EA00 ; =UNK_02105AF8
str r1, [r0, #0x20]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EA04 ; =0x02105B18
ldr r1, _0200EA04 ; =UNK_02105B18
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x1
@@ -216,9 +274,9 @@ _0200E9F4:
bl FUN_02010F70
pop {r4, pc}
nop
_0200E9FC: .word 0x020ECFC0
_0200EA00: .word 0x02105AF8
_0200EA04: .word 0x02105B18
_0200E9FC: .word UNK_020ECFC0
_0200EA00: .word UNK_02105AF8
_0200EA04: .word UNK_02105B18
thumb_func_start FUN_0200EA08
FUN_0200EA08: ; 0x0200EA08
@@ -227,12 +285,12 @@ FUN_0200EA08: ; 0x0200EA08
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EA2E
ldr r1, _0200EA34 ; =0x020ECFC6
ldr r0, _0200EA38 ; =0x02105AF8
ldr r1, _0200EA34 ; =UNK_020ECFC6
ldr r0, _0200EA38 ; =UNK_02105AF8
str r1, [r0, #0x28]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EA3C ; =0x02105B20
ldr r1, _0200EA3C ; =UNK_02105B20
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x0
@@ -243,9 +301,9 @@ _0200EA2E:
bl FUN_02010F70
pop {r4, pc}
.balign 4
_0200EA34: .word 0x020ECFC6
_0200EA38: .word 0x02105AF8
_0200EA3C: .word 0x02105B20
_0200EA34: .word UNK_020ECFC6
_0200EA38: .word UNK_02105AF8
_0200EA3C: .word UNK_02105B20
thumb_func_start FUN_0200EA40
FUN_0200EA40: ; 0x0200EA40
@@ -254,12 +312,12 @@ FUN_0200EA40: ; 0x0200EA40
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EA68
ldr r1, _0200EA70 ; =0x020ECFA8
ldr r0, _0200EA74 ; =0x02105AF8
ldr r1, _0200EA70 ; =UNK_020ECFA8
ldr r0, _0200EA74 ; =UNK_02105AF8
str r1, [r0, #0x10]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EA78 ; =0x02105B08
ldr r1, _0200EA78 ; =UNK_02105B08
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x1
@@ -271,9 +329,9 @@ _0200EA68:
bl FUN_02010F70
pop {r4, pc}
nop
_0200EA70: .word 0x020ECFA8
_0200EA74: .word 0x02105AF8
_0200EA78: .word 0x02105B08
_0200EA70: .word UNK_020ECFA8
_0200EA74: .word UNK_02105AF8
_0200EA78: .word UNK_02105B08
thumb_func_start FUN_0200EA7C
FUN_0200EA7C: ; 0x0200EA7C
@@ -282,12 +340,12 @@ FUN_0200EA7C: ; 0x0200EA7C
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EAA2
ldr r1, _0200EAA8 ; =0x020ECFB4
ldr r0, _0200EAAC ; =0x02105AF8
ldr r1, _0200EAA8 ; =UNK_020ECFB4
ldr r0, _0200EAAC ; =UNK_02105AF8
str r1, [r0, #0x18]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EAB0 ; =0x02105B10
ldr r1, _0200EAB0 ; =UNK_02105B10
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x0
@@ -298,9 +356,9 @@ _0200EAA2:
bl FUN_02010F70
pop {r4, pc}
.balign 4
_0200EAA8: .word 0x020ECFB4
_0200EAAC: .word 0x02105AF8
_0200EAB0: .word 0x02105B10
_0200EAA8: .word UNK_020ECFB4
_0200EAAC: .word UNK_02105AF8
_0200EAB0: .word UNK_02105B10
thumb_func_start FUN_0200EAB4
FUN_0200EAB4: ; 0x0200EAB4
@@ -311,7 +369,7 @@ FUN_0200EAB4: ; 0x0200EAB4
bne _0200EAD6
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EADC ; =0x020ED1C0
ldr r1, _0200EADC ; =UNK_020ED1C0
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x1
@@ -323,7 +381,7 @@ _0200EAD6:
bl FUN_0200FD1C
pop {r4, pc}
.balign 4
_0200EADC: .word 0x020ED1C0
_0200EADC: .word UNK_020ED1C0
thumb_func_start FUN_0200EAE0
FUN_0200EAE0: ; 0x0200EAE0
@@ -334,7 +392,7 @@ FUN_0200EAE0: ; 0x0200EAE0
bne _0200EB00
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EB08 ; =0x020ED1E4
ldr r1, _0200EB08 ; =UNK_020ED1E4
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x0
@@ -345,7 +403,7 @@ _0200EB00:
bl FUN_0200FD1C
pop {r4, pc}
nop
_0200EB08: .word 0x020ED1E4
_0200EB08: .word UNK_020ED1E4
thumb_func_start FUN_0200EB0C
FUN_0200EB0C: ; 0x0200EB0C
@@ -356,8 +414,8 @@ FUN_0200EB0C: ; 0x0200EB0C
bne _0200EB30
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EB38 ; =0x020ED208
ldr r2, _0200EB3C ; =0x020ED22C
ldr r1, _0200EB38 ; =UNK_020ED208
ldr r2, _0200EB3C ; =UNK_020ED22C
add r0, r4, #0x0
bl FUN_0200FD6C
mov r0, #0x1
@@ -369,8 +427,8 @@ _0200EB30:
bl FUN_0200FDC4
pop {r4, pc}
nop
_0200EB38: .word 0x020ED208
_0200EB3C: .word 0x020ED22C
_0200EB38: .word UNK_020ED208
_0200EB3C: .word UNK_020ED22C
thumb_func_start FUN_0200EB40
FUN_0200EB40: ; 0x0200EB40
@@ -381,8 +439,8 @@ FUN_0200EB40: ; 0x0200EB40
bne _0200EB62
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EB68 ; =0x020ED250
ldr r2, _0200EB6C ; =0x020ED274
ldr r1, _0200EB68 ; =UNK_020ED250
ldr r2, _0200EB6C ; =UNK_020ED274
add r0, r4, #0x0
bl FUN_0200FD6C
mov r0, #0x0
@@ -393,8 +451,8 @@ _0200EB62:
bl FUN_0200FDC4
pop {r4, pc}
.balign 4
_0200EB68: .word 0x020ED250
_0200EB6C: .word 0x020ED274
_0200EB68: .word UNK_020ED250
_0200EB6C: .word UNK_020ED274
thumb_func_start FUN_0200EB70
FUN_0200EB70: ; 0x0200EB70
@@ -405,7 +463,7 @@ FUN_0200EB70: ; 0x0200EB70
bne _0200EB92
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EB98 ; =0x020ED090
ldr r1, _0200EB98 ; =UNK_020ED090
add r0, r4, #0x0
bl FUN_0200FF18
mov r0, #0x1
@@ -417,7 +475,7 @@ _0200EB92:
bl FUN_0200FF50
pop {r4, pc}
.balign 4
_0200EB98: .word 0x020ED090
_0200EB98: .word UNK_020ED090
thumb_func_start FUN_0200EB9C
FUN_0200EB9C: ; 0x0200EB9C
@@ -428,7 +486,7 @@ FUN_0200EB9C: ; 0x0200EB9C
bne _0200EBBC
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EBC4 ; =0x020ED040
ldr r1, _0200EBC4 ; =UNK_020ED040
add r0, r4, #0x0
bl FUN_0200FF18
mov r0, #0x0
@@ -439,7 +497,7 @@ _0200EBBC:
bl FUN_0200FF50
pop {r4, pc}
nop
_0200EBC4: .word 0x020ED040
_0200EBC4: .word UNK_020ED040
thumb_func_start FUN_0200EBC8
FUN_0200EBC8: ; 0x0200EBC8
@@ -450,7 +508,7 @@ FUN_0200EBC8: ; 0x0200EBC8
bne _0200EBEA
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EBF0 ; =0x020ED050
ldr r1, _0200EBF0 ; =UNK_020ED050
add r0, r4, #0x0
bl FUN_0200FF18
mov r0, #0x1
@@ -462,7 +520,7 @@ _0200EBEA:
bl FUN_0200FF50
pop {r4, pc}
.balign 4
_0200EBF0: .word 0x020ED050
_0200EBF0: .word UNK_020ED050
thumb_func_start FUN_0200EBF4
FUN_0200EBF4: ; 0x0200EBF4
@@ -473,7 +531,7 @@ FUN_0200EBF4: ; 0x0200EBF4
bne _0200EC14
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EC1C ; =0x020ED060
ldr r1, _0200EC1C ; =UNK_020ED060
add r0, r4, #0x0
bl FUN_0200FF18
mov r0, #0x0
@@ -484,7 +542,7 @@ _0200EC14:
bl FUN_0200FF50
pop {r4, pc}
nop
_0200EC1C: .word 0x020ED060
_0200EC1C: .word UNK_020ED060
thumb_func_start FUN_0200EC20
FUN_0200EC20: ; 0x0200EC20
@@ -495,7 +553,7 @@ FUN_0200EC20: ; 0x0200EC20
bne _0200EC42
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EC48 ; =0x020ECFE0
ldr r1, _0200EC48 ; =UNK_020ECFE0
add r0, r4, #0x0
bl FUN_020101EC
mov r0, #0x1
@@ -507,7 +565,7 @@ _0200EC42:
bl FUN_02010224
pop {r4, pc}
.balign 4
_0200EC48: .word 0x020ECFE0
_0200EC48: .word UNK_020ECFE0
thumb_func_start FUN_0200EC4C
FUN_0200EC4C: ; 0x0200EC4C
@@ -518,7 +576,7 @@ FUN_0200EC4C: ; 0x0200EC4C
bne _0200EC6C
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EC74 ; =0x020ECFEC
ldr r1, _0200EC74 ; =UNK_020ECFEC
add r0, r4, #0x0
bl FUN_020101EC
mov r0, #0x0
@@ -529,7 +587,7 @@ _0200EC6C:
bl FUN_02010224
pop {r4, pc}
nop
_0200EC74: .word 0x020ECFEC
_0200EC74: .word UNK_020ECFEC
thumb_func_start FUN_0200EC78
FUN_0200EC78: ; 0x0200EC78
@@ -540,7 +598,7 @@ FUN_0200EC78: ; 0x0200EC78
bne _0200EC9A
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200ECA0 ; =0x020ED0A0
ldr r1, _0200ECA0 ; =UNK_020ED0A0
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x1
@@ -552,7 +610,7 @@ _0200EC9A:
bl FUN_0200FD1C
pop {r4, pc}
.balign 4
_0200ECA0: .word 0x020ED0A0
_0200ECA0: .word UNK_020ED0A0
thumb_func_start FUN_0200ECA4
FUN_0200ECA4: ; 0x0200ECA4
@@ -563,7 +621,7 @@ FUN_0200ECA4: ; 0x0200ECA4
bne _0200ECC4
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200ECCC ; =0x020ED0C4
ldr r1, _0200ECCC ; =UNK_020ED0C4
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x0
@@ -574,7 +632,7 @@ _0200ECC4:
bl FUN_0200FD1C
pop {r4, pc}
nop
_0200ECCC: .word 0x020ED0C4
_0200ECCC: .word UNK_020ED0C4
thumb_func_start FUN_0200ECD0
FUN_0200ECD0: ; 0x0200ECD0
@@ -585,7 +643,7 @@ FUN_0200ECD0: ; 0x0200ECD0
bne _0200ECF2
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200ECF8 ; =0x020ED10C
ldr r1, _0200ECF8 ; =UNK_020ED10C
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x1
@@ -597,7 +655,7 @@ _0200ECF2:
bl FUN_0200FD1C
pop {r4, pc}
.balign 4
_0200ECF8: .word 0x020ED10C
_0200ECF8: .word UNK_020ED10C
thumb_func_start FUN_0200ECFC
FUN_0200ECFC: ; 0x0200ECFC
@@ -608,7 +666,7 @@ FUN_0200ECFC: ; 0x0200ECFC
bne _0200ED1C
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200ED24 ; =0x020ED178
ldr r1, _0200ED24 ; =UNK_020ED178
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x0
@@ -619,7 +677,7 @@ _0200ED1C:
bl FUN_0200FD1C
pop {r4, pc}
nop
_0200ED24: .word 0x020ED178
_0200ED24: .word UNK_020ED178
thumb_func_start FUN_0200ED28
FUN_0200ED28: ; 0x0200ED28
@@ -630,7 +688,7 @@ FUN_0200ED28: ; 0x0200ED28
bne _0200ED4A
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200ED50 ; =0x020ED004
ldr r1, _0200ED50 ; =UNK_020ED004
add r0, r4, #0x0
bl FUN_020103F0
mov r0, #0x1
@@ -642,7 +700,7 @@ _0200ED4A:
bl FUN_02010428
pop {r4, pc}
.balign 4
_0200ED50: .word 0x020ED004
_0200ED50: .word UNK_020ED004
thumb_func_start FUN_0200ED54
FUN_0200ED54: ; 0x0200ED54
@@ -653,7 +711,7 @@ FUN_0200ED54: ; 0x0200ED54
bne _0200ED74
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200ED7C ; =0x020ED010
ldr r1, _0200ED7C ; =UNK_020ED010
add r0, r4, #0x0
bl FUN_020103F0
mov r0, #0x0
@@ -664,7 +722,7 @@ _0200ED74:
bl FUN_02010428
pop {r4, pc}
nop
_0200ED7C: .word 0x020ED010
_0200ED7C: .word UNK_020ED010
thumb_func_start FUN_0200ED80
FUN_0200ED80: ; 0x0200ED80
@@ -674,10 +732,10 @@ FUN_0200ED80: ; 0x0200ED80
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EDC4
ldr r0, _0200EDCC ; =0x020ED298
ldr r0, _0200EDCC ; =UNK_020ED298
mov r1, #0x4
str r0, [sp, #0x0]
ldr r0, _0200EDD0 ; =0x020ED2D8
ldr r0, _0200EDD0 ; =UNK_020ED2D8
str r0, [sp, #0x4]
add r0, sp, #0x0
strb r1, [r0, #0x8]
@@ -705,8 +763,8 @@ _0200EDC4:
add sp, #0x10
pop {r4, pc}
.balign 4
_0200EDCC: .word 0x020ED298
_0200EDD0: .word 0x020ED2D8
_0200EDCC: .word UNK_020ED298
_0200EDD0: .word UNK_020ED2D8
thumb_func_start FUN_0200EDD4
FUN_0200EDD4: ; 0x0200EDD4
@@ -716,10 +774,10 @@ FUN_0200EDD4: ; 0x0200EDD4
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EE14
ldr r0, _0200EE1C ; =0x020ED318
ldr r0, _0200EE1C ; =UNK_020ED318
mov r1, #0x4
str r0, [sp, #0x0]
ldr r0, _0200EE20 ; =0x020ED358
ldr r0, _0200EE20 ; =UNK_020ED358
mov r2, #0x0
str r0, [sp, #0x4]
add r0, sp, #0x0
@@ -745,8 +803,8 @@ _0200EE14:
add sp, #0x10
pop {r4, pc}
.balign 4
_0200EE1C: .word 0x020ED318
_0200EE20: .word 0x020ED358
_0200EE1C: .word UNK_020ED318
_0200EE20: .word UNK_020ED358
thumb_func_start FUN_0200EE24
FUN_0200EE24: ; 0x0200EE24
@@ -755,12 +813,12 @@ FUN_0200EE24: ; 0x0200EE24
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EE4C
ldr r1, _0200EE54 ; =0x020ECFD5
ldr r0, _0200EE58 ; =0x02105AF8
ldr r1, _0200EE54 ; =UNK_020ECFD5
ldr r0, _0200EE58 ; =UNK_02105AF8
str r1, [r0, #0x0]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EE5C ; =0x02105AF8
ldr r1, _0200EE5C ; =UNK_02105AF8
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x1
@@ -772,9 +830,9 @@ _0200EE4C:
bl FUN_02010F70
pop {r4, pc}
nop
_0200EE54: .word 0x020ECFD5
_0200EE58: .word 0x02105AF8
_0200EE5C: .word 0x02105AF8
_0200EE54: .word UNK_020ECFD5
_0200EE58: .word UNK_02105AF8
_0200EE5C: .word UNK_02105AF8
thumb_func_start FUN_0200EE60
FUN_0200EE60: ; 0x0200EE60
@@ -783,12 +841,12 @@ FUN_0200EE60: ; 0x0200EE60
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EE86
ldr r1, _0200EE8C ; =0x020ECFCC
ldr r0, _0200EE90 ; =0x02105AF8
ldr r1, _0200EE8C ; =UNK_020ECFCC
ldr r0, _0200EE90 ; =UNK_02105AF8
str r1, [r0, #0x8]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EE94 ; =0x02105B00
ldr r1, _0200EE94 ; =UNK_02105B00
add r0, r4, #0x0
bl FUN_02010F2C
mov r0, #0x0
@@ -799,9 +857,9 @@ _0200EE86:
bl FUN_02010F70
pop {r4, pc}
.balign 4
_0200EE8C: .word 0x020ECFCC
_0200EE90: .word 0x02105AF8
_0200EE94: .word 0x02105B00
_0200EE8C: .word UNK_020ECFCC
_0200EE90: .word UNK_02105AF8
_0200EE94: .word UNK_02105B00
thumb_func_start FUN_0200EE98
FUN_0200EE98: ; 0x0200EE98
@@ -811,7 +869,7 @@ FUN_0200EE98: ; 0x0200EE98
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EECA
ldr r3, _0200EED4 ; =0x020ECFF8
ldr r3, _0200EED4 ; =UNK_020ECFF8
add r2, sp, #0x0
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
@@ -833,7 +891,7 @@ _0200EECA:
add sp, #0xc
pop {r3-r4, pc}
nop
_0200EED4: .word 0x020ECFF8
_0200EED4: .word UNK_020ECFF8
thumb_func_start FUN_0200EED8
FUN_0200EED8: ; 0x0200EED8
@@ -843,7 +901,7 @@ FUN_0200EED8: ; 0x0200EED8
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EF08
ldr r3, _0200EF10 ; =0x020ED034
ldr r3, _0200EF10 ; =UNK_020ED034
add r2, sp, #0x0
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
@@ -864,7 +922,7 @@ _0200EF08:
add sp, #0xc
pop {r3-r4, pc}
.balign 4
_0200EF10: .word 0x020ED034
_0200EF10: .word UNK_020ED034
thumb_func_start FUN_0200EF14
FUN_0200EF14: ; 0x0200EF14
@@ -874,7 +932,7 @@ FUN_0200EF14: ; 0x0200EF14
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EF46
ldr r3, _0200EF50 ; =0x020ED01C
ldr r3, _0200EF50 ; =UNK_020ED01C
add r2, sp, #0x0
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
@@ -896,7 +954,7 @@ _0200EF46:
add sp, #0xc
pop {r3-r4, pc}
nop
_0200EF50: .word 0x020ED01C
_0200EF50: .word UNK_020ED01C
thumb_func_start FUN_0200EF54
FUN_0200EF54: ; 0x0200EF54
@@ -906,7 +964,7 @@ FUN_0200EF54: ; 0x0200EF54
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200EF84
ldr r3, _0200EF8C ; =0x020ED028
ldr r3, _0200EF8C ; =UNK_020ED028
add r2, sp, #0x0
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
@@ -927,7 +985,7 @@ _0200EF84:
add sp, #0xc
pop {r3-r4, pc}
.balign 4
_0200EF8C: .word 0x020ED028
_0200EF8C: .word UNK_020ED028
thumb_func_start FUN_0200EF90
FUN_0200EF90: ; 0x0200EF90
@@ -938,7 +996,7 @@ FUN_0200EF90: ; 0x0200EF90
bne _0200EFB2
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EFB8 ; =0x020ED080
ldr r1, _0200EFB8 ; =UNK_020ED080
add r0, r4, #0x0
bl FUN_0200FF18
mov r0, #0x1
@@ -950,7 +1008,7 @@ _0200EFB2:
bl FUN_0200FF50
pop {r4, pc}
.balign 4
_0200EFB8: .word 0x020ED080
_0200EFB8: .word UNK_020ED080
thumb_func_start FUN_0200EFBC
FUN_0200EFBC: ; 0x0200EFBC
@@ -961,7 +1019,7 @@ FUN_0200EFBC: ; 0x0200EFBC
bne _0200EFDC
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200EFE4 ; =0x020ED070
ldr r1, _0200EFE4 ; =UNK_020ED070
add r0, r4, #0x0
bl FUN_0200FF18
mov r0, #0x0
@@ -972,7 +1030,7 @@ _0200EFDC:
bl FUN_0200FF50
pop {r4, pc}
nop
_0200EFE4: .word 0x020ED070
_0200EFE4: .word UNK_020ED070
thumb_func_start FUN_0200EFE8
FUN_0200EFE8: ; 0x0200EFE8
@@ -983,7 +1041,7 @@ FUN_0200EFE8: ; 0x0200EFE8
bne _0200F00A
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200F010 ; =0x020ED130
ldr r1, _0200F010 ; =UNK_020ED130
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x1
@@ -995,7 +1053,7 @@ _0200F00A:
bl FUN_0200FD1C
pop {r4, pc}
.balign 4
_0200F010: .word 0x020ED130
_0200F010: .word UNK_020ED130
thumb_func_start FUN_0200F014
FUN_0200F014: ; 0x0200F014
@@ -1006,7 +1064,7 @@ FUN_0200F014: ; 0x0200F014
bne _0200F034
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200F03C ; =0x020ED19C
ldr r1, _0200F03C ; =UNK_020ED19C
add r0, r4, #0x0
bl FUN_0200FCC8
mov r0, #0x0
@@ -1017,7 +1075,7 @@ _0200F034:
bl FUN_0200FD1C
pop {r4, pc}
nop
_0200F03C: .word 0x020ED19C
_0200F03C: .word UNK_020ED19C
thumb_func_start FUN_0200F040
FUN_0200F040: ; 0x0200F040
@@ -1026,12 +1084,12 @@ FUN_0200F040: ; 0x0200F040
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200F068
ldr r1, _0200F070 ; =0x020ECFAE
ldr r0, _0200F074 ; =0x02105AF8
ldr r1, _0200F070 ; =UNK_020ECFAE
ldr r0, _0200F074 ; =UNK_02105AF8
str r1, [r0, #0x74]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200F078 ; =0x02105B48
ldr r1, _0200F078 ; =UNK_02105B48
add r0, r4, #0x0
bl FUN_020111AC
mov r0, #0x1
@@ -1043,9 +1101,9 @@ _0200F068:
bl FUN_02011214
pop {r4, pc}
nop
_0200F070: .word 0x020ECFAE
_0200F074: .word 0x02105AF8
_0200F078: .word 0x02105B48
_0200F070: .word UNK_020ECFAE
_0200F074: .word UNK_02105AF8
_0200F078: .word UNK_02105B48
thumb_func_start FUN_0200F07C
FUN_0200F07C: ; 0x0200F07C
@@ -1054,12 +1112,12 @@ FUN_0200F07C: ; 0x0200F07C
ldr r1, [r4, #0xc]
cmp r1, #0x0
bne _0200F0A2
ldr r1, _0200F0A8 ; =0x020ECFBA
ldr r0, _0200F0AC ; =0x02105B78
ldr r1, _0200F0A8 ; =UNK_020ECFBA
ldr r0, _0200F0AC ; =UNK_02105B78
str r1, [r0, #0x24]
ldrh r0, [r4, #0x24]
bl FUN_0200E420
ldr r1, _0200F0B0 ; =0x02105B78
ldr r1, _0200F0B0 ; =UNK_02105B78
add r0, r4, #0x0
bl FUN_020111AC
mov r0, #0x0
@@ -1070,16 +1128,16 @@ _0200F0A2:
bl FUN_02011214
pop {r4, pc}
.balign 4
_0200F0A8: .word 0x020ECFBA
_0200F0AC: .word 0x02105B78
_0200F0B0: .word 0x02105B78
_0200F0A8: .word UNK_020ECFBA
_0200F0AC: .word UNK_02105B78
_0200F0B0: .word UNK_02105B78
thumb_func_start FUN_0200F0B4
FUN_0200F0B4: ; 0x0200F0B4
asr r0, r0, #0x4
lsl r1, r0, #0x1
lsl r0, r1, #0x1
ldr r2, _0200F0C8 ; =0x020FFA38
ldr r2, _0200F0C8 ; =UNK_020FFA38
add r1, r1, #0x1
lsl r1, r1, #0x1
ldr r3, _0200F0CC ; =FX_Div
@@ -1087,7 +1145,7 @@ FUN_0200F0B4: ; 0x0200F0B4
ldrsh r1, [r2, r1]
bx r3
.balign 4
_0200F0C8: .word 0x020FFA38
_0200F0C8: .word UNK_020FFA38
_0200F0CC: .word FX_Div
thumb_func_start FUN_0200F0D0
@@ -3879,7 +3937,7 @@ FUN_020105A0: ; 0x020105A0
ldr r2, [r4, #0xc]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _02010680 ; =0x020FFA38
ldr r0, _02010680 ; =UNK_020FFA38
asr r3, r2, #0x1f
ldrsh r0, [r0, r1]
asr r1, r0, #0x1f
@@ -3975,7 +4033,7 @@ _02010634:
add sp, #0x110
pop {r4-r7, pc}
.balign 4
_02010680: .word 0x020FFA38
_02010680: .word UNK_020FFA38
_02010684: .word 0x0000FFFF
thumb_func_start FUN_02010688

View File

@@ -1,6 +1,22 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ED438
.extern UNK_020ED4B2
.extern UNK_020ED398
.extern UNK_020ED498
.extern UNK_020ED4CC
.extern UNK_020ED399
.extern UNK_020ED4A4
.extern UNK_020ED3C8
.extern UNK_020FFA38
.extern UNK_021C4828
.extern UNK_020ED3B8
.extern UNK_021C4818
.extern UNK_021C4808
.extern UNK_020ED3B0
.extern UNK_020ED3D8
.text
thumb_func_start FUN_02011744
@@ -632,7 +648,7 @@ _02011BC4:
thumb_func_start FUN_02011BC8
FUN_02011BC8: ; 0x02011BC8
push {r3-r4}
ldr r4, _02011BF0 ; =0x020ED398
ldr r4, _02011BF0 ; =UNK_020ED398
mov r3, #0x0
_02011BCE:
ldrb r2, [r4, #0x0]
@@ -653,7 +669,7 @@ _02011BE0:
pop {r3-r4}
bx lr
nop
_02011BF0: .word 0x020ED398
_02011BF0: .word UNK_020ED398
thumb_func_start FUN_02011BF4
FUN_02011BF4: ; 0x02011BF4
@@ -670,10 +686,10 @@ FUN_02011BF4: ; 0x02011BF4
bl FUN_02011BC8
str r0, [r4, #0x8]
ldr r0, [r5, #0x4]
ldr r1, _02011C9C ; =0x020ED398
ldr r1, _02011C9C ; =UNK_020ED398
str r0, [r4, #0x0]
ldr r0, [r5, #0x0]
ldr r6, _02011CA0 ; =0x020ED399
ldr r6, _02011CA0 ; =UNK_020ED399
str r0, [r4, #0x4]
ldr r0, [r4, #0x8]
ldr r2, [r5, #0x8]
@@ -712,7 +728,7 @@ _02011C5C:
ldr r0, [r4, #0x8]
ldr r2, [r5, #0x0]
lsl r1, r0, #0x1
ldr r0, _02011CA0 ; =0x020ED399
ldr r0, _02011CA0 ; =UNK_020ED399
ldrb r0, [r0, r1]
add r0, r2, r0
str r0, [r5, #0x0]
@@ -742,8 +758,8 @@ _02011C96:
mov r0, #0x0
pop {r4-r6, pc}
nop
_02011C9C: .word 0x020ED398
_02011CA0: .word 0x020ED399
_02011C9C: .word UNK_020ED398
_02011CA0: .word UNK_020ED399
thumb_func_start FUN_02011CA4
FUN_02011CA4: ; 0x02011CA4
@@ -781,7 +797,7 @@ _02011CDE:
ldr r1, [sp, #0x0]
bl FUN_02011BC8
lsl r1, r0, #0x1
ldr r0, _02011D28 ; =0x020ED398
ldr r0, _02011D28 ; =UNK_020ED398
add r0, r0, r1
ldrb r0, [r0, #0x1]
ldr r1, [sp, #0x4]
@@ -814,7 +830,7 @@ _02011D20:
add sp, #0x38
pop {r3-r7, pc}
nop
_02011D28: .word 0x020ED398
_02011D28: .word UNK_020ED398
thumb_func_start FUN_02011D2C
FUN_02011D2C: ; 0x02011D2C
@@ -885,10 +901,10 @@ FUN_02011DA0: ; 0x02011DA0
ldr r0, [r6, #0x8]
add r5, r2, #0x0
lsl r1, r0, #0x1
ldr r0, _02011E44 ; =0x020ED398
ldr r0, _02011E44 ; =UNK_020ED398
ldrb r0, [r0, r1]
str r0, [sp, #0x10]
ldr r0, _02011E48 ; =0x020ED399
ldr r0, _02011E48 ; =UNK_020ED399
ldrb r0, [r0, r1]
ldr r1, [sp, #0x10]
add r4, r1, #0x0
@@ -958,8 +974,8 @@ _02011E1A:
add sp, #0x14
pop {r4-r7, pc}
.balign 4
_02011E44: .word 0x020ED398
_02011E48: .word 0x020ED399
_02011E44: .word UNK_020ED398
_02011E48: .word UNK_020ED399
_02011E4C: .word 0x04001000
_02011E50: .word 0x00300010
_02011E54: .word 0x0000FFFF
@@ -985,7 +1001,7 @@ _02011E6C:
mov r3, #0x0
cmp r2, r4
beq _02011E9A
ldr r1, _02011EA8 ; =0x020ED398
ldr r1, _02011EA8 ; =UNK_020ED398
_02011E7E:
ldr r5, [r2, #0x8]
lsl r5, r5, #0x1
@@ -1008,7 +1024,7 @@ _02011E9A:
nop
_02011EA0: .word 0x04001000
_02011EA4: .word 0x00300010
_02011EA8: .word 0x020ED398
_02011EA8: .word UNK_020ED398
thumb_func_start FUN_02011EAC
FUN_02011EAC: ; 0x02011EAC
@@ -1350,7 +1366,7 @@ _0201210A:
FUN_02012110: ; 0x02012110
push {r4-r5}
sub sp, #0x8
ldr r2, _02012148 ; =0x020ED3B0
ldr r2, _02012148 ; =UNK_020ED3B0
add r1, sp, #0x0
ldr r3, [r2, #0x0]
ldr r2, [r2, #0x4]
@@ -1380,7 +1396,7 @@ _02012140:
pop {r4-r5}
bx lr
.balign 4
_02012148: .word 0x020ED3B0
_02012148: .word UNK_020ED3B0
_0201214C: .word 0x000001EF
thumb_func_start FUN_02012150
@@ -1694,7 +1710,7 @@ FUN_02012394: ; 0x02012394
add r5, r2, #0x0
ldr r6, [sp, #0x94]
ldr r7, [sp, #0x98]
ldr r3, _020123FC ; =0x020ED3D8
ldr r3, _020123FC ; =UNK_020ED3D8
str r1, [sp, #0x10]
str r0, [sp, #0x9c]
add r2, sp, #0x1c
@@ -1737,7 +1753,7 @@ _020123D4:
add sp, #0x7c
pop {r4-r7, pc}
nop
_020123FC: .word 0x020ED3D8
_020123FC: .word UNK_020ED3D8
thumb_func_start FUN_02012400
FUN_02012400: ; 0x02012400
@@ -1761,7 +1777,7 @@ FUN_02012400: ; 0x02012400
FUN_02012420: ; 0x02012420
push {r4-r7, lr}
sub sp, #0x14
ldr r4, _02012448 ; =0x020ED3B8
ldr r4, _02012448 ; =UNK_020ED3B8
add r5, r3, #0x0
add r3, sp, #0x4
add r7, r0, #0x0
@@ -1779,7 +1795,7 @@ FUN_02012420: ; 0x02012420
add sp, #0x14
pop {r4-r7, pc}
.balign 4
_02012448: .word 0x020ED3B8
_02012448: .word UNK_020ED3B8
thumb_func_start FUN_0201244C
FUN_0201244C: ; 0x0201244C
@@ -1842,7 +1858,7 @@ FUN_020124B4: ; 0x020124B4
add r5, r2, #0x0
ldr r6, [sp, #0xa4]
ldr r7, [sp, #0xa8]
ldr r3, _0201252C ; =0x020ED438
ldr r3, _0201252C ; =UNK_020ED438
str r1, [sp, #0x20]
str r0, [sp, #0xac]
add r2, sp, #0x2c
@@ -1893,7 +1909,7 @@ _02012504:
add sp, #0x8c
pop {r4-r7, pc}
nop
_0201252C: .word 0x020ED438
_0201252C: .word UNK_020ED438
thumb_func_start FUN_02012530
FUN_02012530: ; 0x02012530
@@ -1925,7 +1941,7 @@ FUN_02012530: ; 0x02012530
FUN_02012560: ; 0x02012560
push {r4-r7, lr}
sub sp, #0x24
ldr r4, _02012598 ; =0x020ED3C8
ldr r4, _02012598 ; =UNK_020ED3C8
add r5, r3, #0x0
add r3, sp, #0x14
add r7, r0, #0x0
@@ -1951,13 +1967,13 @@ FUN_02012560: ; 0x02012560
add sp, #0x24
pop {r4-r7, pc}
.balign 4
_02012598: .word 0x020ED3C8
_02012598: .word UNK_020ED3C8
thumb_func_start FUN_0201259C
FUN_0201259C: ; 0x0201259C
push {r3, lr}
bl RTC_Init
ldr r3, _020125CC ; =0x021C4808
ldr r3, _020125CC ; =UNK_021C4808
mov r0, #0x0
add r2, r3, #0x0
add r1, r0, #0x0
@@ -1970,7 +1986,7 @@ FUN_0201259C: ; 0x0201259C
stmia r2!, {r0-r1}
stmia r2!, {r0-r1}
stmia r2!, {r0-r1}
ldr r1, _020125D0 ; =0x021C4808
ldr r1, _020125D0 ; =UNK_021C4808
str r0, [r1, #0x0]
str r0, [r1, #0x4]
str r0, [r1, #0x8]
@@ -1978,13 +1994,13 @@ FUN_0201259C: ; 0x0201259C
bl FUN_02012634
pop {r3, pc}
.balign 4
_020125CC: .word 0x021C4808
_020125D0: .word 0x021C4808
_020125CC: .word UNK_021C4808
_020125D0: .word UNK_021C4808
thumb_func_start FUN_020125D4
FUN_020125D4: ; 0x020125D4
push {r3, lr}
ldr r0, _020125F4 ; =0x021C4808
ldr r0, _020125F4 ; =UNK_021C4808
ldr r1, [r0, #0x4]
cmp r1, #0x0
bne _020125F2
@@ -1995,13 +2011,13 @@ FUN_020125D4: ; 0x020125D4
ble _020125F2
mov r1, #0x0
str r1, [r0, #0x8]
ldr r0, _020125F8 ; =0x021C4808
ldr r0, _020125F8 ; =UNK_021C4808
bl FUN_02012634
_020125F2:
pop {r3, pc}
.balign 4
_020125F4: .word 0x021C4808
_020125F8: .word 0x021C4808
_020125F4: .word UNK_021C4808
_020125F8: .word UNK_021C4808
thumb_func_start FUN_020125FC
FUN_020125FC: ; 0x020125FC
@@ -2060,18 +2076,18 @@ _02012658: .word FUN_020125FC
FUN_0201265C: ; 0x0201265C
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _02012684 ; =0x021C4808
ldr r0, _02012684 ; =UNK_021C4808
add r4, r1, #0x0
ldr r0, [r0, #0x0]
cmp r0, #0x1
beq _0201266E
bl ErrorHandling
_0201266E:
ldr r2, _02012688 ; =0x021C4818
ldr r2, _02012688 ; =UNK_021C4818
ldmia r2!, {r0-r1}
stmia r5!, {r0-r1}
ldmia r2!, {r0-r1}
ldr r2, _0201268C ; =0x021C4828
ldr r2, _0201268C ; =UNK_021C4828
stmia r5!, {r0-r1}
ldmia r2!, {r0-r1}
stmia r4!, {r0-r1}
@@ -2079,54 +2095,54 @@ _0201266E:
str r0, [r4, #0x0]
pop {r3-r5, pc}
.balign 4
_02012684: .word 0x021C4808
_02012688: .word 0x021C4818
_0201268C: .word 0x021C4828
_02012684: .word UNK_021C4808
_02012688: .word UNK_021C4818
_0201268C: .word UNK_021C4828
thumb_func_start FUN_02012690
FUN_02012690: ; 0x02012690
push {r4, lr}
add r4, r0, #0x0
ldr r0, _020126AC ; =0x021C4808
ldr r0, _020126AC ; =UNK_021C4808
ldr r0, [r0, #0x0]
cmp r0, #0x1
beq _020126A0
bl ErrorHandling
_020126A0:
ldr r2, _020126B0 ; =0x021C4828
ldr r2, _020126B0 ; =UNK_021C4828
ldmia r2!, {r0-r1}
stmia r4!, {r0-r1}
ldr r0, [r2, #0x0]
str r0, [r4, #0x0]
pop {r4, pc}
.balign 4
_020126AC: .word 0x021C4808
_020126B0: .word 0x021C4828
_020126AC: .word UNK_021C4808
_020126B0: .word UNK_021C4828
thumb_func_start FUN_020126B4
FUN_020126B4: ; 0x020126B4
push {r4, lr}
add r4, r0, #0x0
ldr r0, _020126D0 ; =0x021C4808
ldr r0, _020126D0 ; =UNK_021C4808
ldr r0, [r0, #0x0]
cmp r0, #0x1
beq _020126C4
bl ErrorHandling
_020126C4:
ldr r2, _020126D4 ; =0x021C4818
ldr r2, _020126D4 ; =UNK_021C4818
ldmia r2!, {r0-r1}
stmia r4!, {r0-r1}
ldmia r2!, {r0-r1}
stmia r4!, {r0-r1}
pop {r4, pc}
.balign 4
_020126D0: .word 0x021C4808
_020126D4: .word 0x021C4818
_020126D0: .word UNK_021C4808
_020126D4: .word UNK_021C4818
thumb_func_start FUN_020126D8
FUN_020126D8: ; 0x020126D8
push {r3-r4}
ldr r4, _020126F8 ; =0x021C4828
ldr r4, _020126F8 ; =UNK_021C4828
mov r0, #0x3c
ldr r1, [r4, #0x4]
ldr r3, [r4, #0x8]
@@ -2141,18 +2157,18 @@ FUN_020126D8: ; 0x020126D8
pop {r3-r4}
bx lr
nop
_020126F8: .word 0x021C4828
_020126F8: .word UNK_021C4828
thumb_func_start FUN_020126FC
FUN_020126FC: ; 0x020126FC
ldr r3, _02012704 ; =RTC_ConvertDateTimeToSecond
ldr r0, _02012708 ; =0x021C4818
ldr r1, _0201270C ; =0x021C4828
ldr r0, _02012708 ; =UNK_021C4818
ldr r1, _0201270C ; =UNK_021C4828
bx r3
.balign 4
_02012704: .word RTC_ConvertDateTimeToSecond
_02012708: .word 0x021C4818
_0201270C: .word 0x021C4828
_02012708: .word UNK_021C4818
_0201270C: .word UNK_021C4828
thumb_func_start FUN_02012710
FUN_02012710: ; 0x02012710
@@ -2160,7 +2176,7 @@ FUN_02012710: ; 0x02012710
sub sp, #0x10
add r5, r0, #0x0
ldr r2, [r5, #0x4]
ldr r0, _02012778 ; =0x020ED4B2
ldr r0, _02012778 ; =UNK_020ED4B2
lsl r1, r2, #0x1
ldrh r0, [r0, r1]
ldr r3, [r5, #0x8]
@@ -2208,7 +2224,7 @@ _02012752:
add sp, #0x10
pop {r4-r6, pc}
.balign 4
_02012778: .word 0x020ED4B2
_02012778: .word UNK_020ED4B2
thumb_func_start FUN_0201277C
FUN_0201277C: ; 0x0201277C
@@ -2247,18 +2263,18 @@ FUN_020127A8: ; 0x020127A8
_020127B2:
bl ErrorHandling
_020127B6:
ldr r0, _020127BC ; =0x020ED4CC
ldr r0, _020127BC ; =UNK_020ED4CC
ldrb r0, [r0, r4]
pop {r4, pc}
.balign 4
_020127BC: .word 0x020ED4CC
_020127BC: .word UNK_020ED4CC
thumb_func_start FUN_020127C0
FUN_020127C0: ; 0x020127C0
push {r4-r7, lr}
sub sp, #0x24
add r6, r3, #0x0
ldr r3, _0201282C ; =0x020ED4A4
ldr r3, _0201282C ; =UNK_020ED4A4
add r4, r0, #0x0
add r7, r1, #0x0
add r5, r2, #0x0
@@ -2268,7 +2284,7 @@ FUN_020127C0: ; 0x020127C0
stmia r2!, {r0-r1}
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
ldr r3, _02012830 ; =0x020ED498
ldr r3, _02012830 ; =UNK_020ED498
add r2, sp, #0x8
ldmia r3!, {r0-r1}
str r2, [sp, #0x4]
@@ -2309,8 +2325,8 @@ _02012818:
add sp, #0x24
pop {r4-r7, pc}
nop
_0201282C: .word 0x020ED4A4
_02012830: .word 0x020ED498
_0201282C: .word UNK_020ED4A4
_02012830: .word UNK_020ED498
_02012834: .word 0xBC19137F
thumb_func_start FUN_02012838
@@ -2791,7 +2807,7 @@ FUN_02012B88: ; 0x02012B88
_02012BA0:
asr r0, r4, #0x4
lsl r1, r0, #0x2
ldr r0, _02012BDC ; =0x020FFA38
ldr r0, _02012BDC ; =UNK_020FFA38
ldr r2, [sp, #0x4]
ldrsh r0, [r0, r1]
ldr r3, [sp, #0x8]
@@ -2819,7 +2835,7 @@ _02012BD6:
add sp, #0xc
pop {r4-r7, pc}
nop
_02012BDC: .word 0x020FFA38
_02012BDC: .word UNK_020FFA38
_02012BE0: .word 0x00000000
thumb_func_start FUN_02012BE4

View File

@@ -1,12 +1,21 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C4850
.extern UNK_020ED508
.extern UNK_020ED4F0
.extern UNK_020ED548
.extern UNK_020ED4E4
.extern UNK_020ED4FC
.extern UNK_021C4858
.extern UNK_021CED64
.text
thumb_func_start FUN_02012CC8
FUN_02012CC8: ; 0x02012CC8
mov r1, #0x0
ldr r2, _02012CD8 ; =0x021C4858
ldr r2, _02012CD8 ; =UNK_021C4858
add r0, r1, #0x0
_02012CCE:
add r1, r1, #0x1
@@ -15,14 +24,14 @@ _02012CCE:
blt _02012CCE
bx lr
.balign 4
_02012CD8: .word 0x021C4858
_02012CD8: .word UNK_021C4858
thumb_func_start FUN_02012CDC
FUN_02012CDC: ; 0x02012CDC
push {r3-r7, lr}
sub sp, #0x10
str r1, [sp, #0x8]
ldr r1, _02012DD0 ; =0x021C4858
ldr r1, _02012DD0 ; =UNK_021C4858
add r7, r0, #0x0
add r6, r2, #0x0
str r3, [sp, #0xc]
@@ -56,20 +65,20 @@ _02012D14:
add r2, r4, #0x0
ldr r0, [sp, #0x8]
str r7, [r4, #0x18]
ldr r3, _02012DD4 ; =0x020ED4FC
ldr r3, _02012DD4 ; =UNK_020ED4FC
str r0, [r4, #0x1c]
ldmia r3!, {r0-r1}
add r2, #0x34
stmia r2!, {r0-r1}
ldr r0, [r3, #0x0]
ldr r3, _02012DD8 ; =0x020ED4E4
ldr r3, _02012DD8 ; =UNK_020ED4E4
str r0, [r2, #0x0]
add r2, r4, #0x0
ldmia r3!, {r0-r1}
add r2, #0x40
stmia r2!, {r0-r1}
ldr r0, [r3, #0x0]
ldr r3, _02012DDC ; =0x020ED4F0
ldr r3, _02012DDC ; =UNK_020ED4F0
str r0, [r2, #0x0]
add r2, r4, #0x0
ldmia r3!, {r0-r1}
@@ -89,7 +98,7 @@ _02012D14:
add r0, r4, #0x0
add r0, #0xda
strb r5, [r0, #0x0]
ldr r0, _02012DD0 ; =0x021C4858
ldr r0, _02012DD0 ; =UNK_021C4858
lsl r5, r5, #0x2
str r4, [r0, r5]
ldr r0, [sp, #0x28]
@@ -107,10 +116,10 @@ _02012D14:
strh r0, [r4, #0x30]
str r3, [sp, #0x0]
ldr r0, [r4, #0x20]
ldr r1, _02012DD4 ; =0x020ED4FC
ldr r1, _02012DD4 ; =UNK_020ED4FC
str r0, [sp, #0x4]
ldrh r2, [r4, #0x30]
ldr r0, _02012DDC ; =0x020ED4F0
ldr r0, _02012DDC ; =UNK_020ED4F0
bl FUN_0201ED5C
add r0, r4, #0x0
mov r1, #0x0
@@ -123,25 +132,25 @@ _02012DA8:
str r0, [sp, #0x0]
mov r0, #0x3f
str r0, [sp, #0x4]
ldr r0, _02012DE0 ; =0x020ED508
ldr r0, _02012DE0 ; =UNK_020ED508
mov r1, #0x14
ldr r0, [r0, r5]
mov r2, #0xc8
mov r3, #0x5
bl FUN_0208B4A0
str r0, [r4, #0x0]
ldr r1, _02012DD8 ; =0x020ED4E4
ldr r1, _02012DD8 ; =UNK_020ED4E4
add r0, r4, #0x0
bl FUN_020133FC
add r0, r4, #0x0
add sp, #0x10
pop {r3-r7, pc}
nop
_02012DD0: .word 0x021C4858
_02012DD4: .word 0x020ED4FC
_02012DD8: .word 0x020ED4E4
_02012DDC: .word 0x020ED4F0
_02012DE0: .word 0x020ED508
_02012DD0: .word UNK_021C4858
_02012DD4: .word UNK_020ED4FC
_02012DD8: .word UNK_020ED4E4
_02012DDC: .word UNK_020ED4F0
_02012DE0: .word UNK_020ED508
thumb_func_start FUN_02012DE4
FUN_02012DE4: ; 0x02012DE4
@@ -222,13 +231,13 @@ _02012E60:
mov r0, #0x0
str r0, [r5, #0x4]
_02012E78:
ldr r2, _02012EA8 ; =0x021C4858
ldr r2, _02012EA8 ; =UNK_021C4858
mov r1, #0x0
_02012E7C:
ldr r0, [r2, #0x0]
cmp r0, r5
bne _02012E8C
ldr r0, _02012EA8 ; =0x021C4858
ldr r0, _02012EA8 ; =UNK_021C4858
mov r2, #0x0
lsl r1, r1, #0x2
str r2, [r0, r1]
@@ -248,12 +257,12 @@ _02012E9E:
bl FUN_02016A18
pop {r3-r7, pc}
nop
_02012EA8: .word 0x021C4858
_02012EA8: .word UNK_021C4858
thumb_func_start FUN_02012EAC
FUN_02012EAC: ; 0x02012EAC
push {r3-r5, lr}
ldr r5, _02012EC8 ; =0x021C4858
ldr r5, _02012EC8 ; =UNK_021C4858
mov r4, #0x0
_02012EB2:
ldr r0, [r5, #0x0]
@@ -267,12 +276,12 @@ _02012EBC:
blt _02012EB2
pop {r3-r5, pc}
nop
_02012EC8: .word 0x021C4858
_02012EC8: .word UNK_021C4858
thumb_func_start FUN_02012ECC
FUN_02012ECC: ; 0x02012ECC
push {r4, lr}
ldr r1, _02012EF4 ; =0x021C4850
ldr r1, _02012EF4 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x8]
ldr r4, [r1, #0x10]
@@ -293,12 +302,12 @@ _02012EF0:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02012EF4: .word 0x021C4850
_02012EF4: .word UNK_021C4850
thumb_func_start FUN_02012EF8
FUN_02012EF8: ; 0x02012EF8
push {r4, lr}
ldr r1, _02012F20 ; =0x021C4850
ldr r1, _02012F20 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0xc]
ldr r4, [r1, #0x10]
@@ -319,12 +328,12 @@ _02012F1C:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02012F20: .word 0x021C4850
_02012F20: .word UNK_021C4850
thumb_func_start FUN_02012F24
FUN_02012F24: ; 0x02012F24
push {r4, lr}
ldr r1, _02012F4C ; =0x021C4850
ldr r1, _02012F4C ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x10]
ldr r4, [r1, #0x10]
@@ -345,12 +354,12 @@ _02012F48:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02012F4C: .word 0x021C4850
_02012F4C: .word UNK_021C4850
thumb_func_start FUN_02012F50
FUN_02012F50: ; 0x02012F50
push {r4, lr}
ldr r1, _02012F78 ; =0x021C4850
ldr r1, _02012F78 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x14]
ldr r4, [r1, #0x10]
@@ -371,12 +380,12 @@ _02012F74:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02012F78: .word 0x021C4850
_02012F78: .word UNK_021C4850
thumb_func_start FUN_02012F7C
FUN_02012F7C: ; 0x02012F7C
push {r4, lr}
ldr r1, _02012FA4 ; =0x021C4850
ldr r1, _02012FA4 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x18]
ldr r4, [r1, #0x10]
@@ -397,12 +406,12 @@ _02012FA0:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02012FA4: .word 0x021C4850
_02012FA4: .word UNK_021C4850
thumb_func_start FUN_02012FA8
FUN_02012FA8: ; 0x02012FA8
push {r4, lr}
ldr r1, _02012FD0 ; =0x021C4850
ldr r1, _02012FD0 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x1c]
ldr r4, [r1, #0x10]
@@ -423,12 +432,12 @@ _02012FCC:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02012FD0: .word 0x021C4850
_02012FD0: .word UNK_021C4850
thumb_func_start FUN_02012FD4
FUN_02012FD4: ; 0x02012FD4
push {r4, lr}
ldr r1, _02012FFC ; =0x021C4850
ldr r1, _02012FFC ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x20]
ldr r4, [r1, #0x10]
@@ -449,12 +458,12 @@ _02012FF8:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02012FFC: .word 0x021C4850
_02012FFC: .word UNK_021C4850
thumb_func_start FUN_02013000
FUN_02013000: ; 0x02013000
push {r4, lr}
ldr r1, _02013028 ; =0x021C4850
ldr r1, _02013028 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x24]
ldr r4, [r1, #0x10]
@@ -475,12 +484,12 @@ _02013024:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02013028: .word 0x021C4850
_02013028: .word UNK_021C4850
thumb_func_start FUN_0201302C
FUN_0201302C: ; 0x0201302C
push {r4, lr}
ldr r1, _02013054 ; =0x021C4850
ldr r1, _02013054 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x28]
ldr r4, [r1, #0x10]
@@ -501,12 +510,12 @@ _02013050:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02013054: .word 0x021C4850
_02013054: .word UNK_021C4850
thumb_func_start FUN_02013058
FUN_02013058: ; 0x02013058
push {r4, lr}
ldr r1, _02013080 ; =0x021C4850
ldr r1, _02013080 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x2c]
ldr r4, [r1, #0x10]
@@ -527,12 +536,12 @@ _0201307C:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02013080: .word 0x021C4850
_02013080: .word UNK_021C4850
thumb_func_start FUN_02013084
FUN_02013084: ; 0x02013084
push {r4, lr}
ldr r1, _020130AC ; =0x021C4850
ldr r1, _020130AC ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x30]
ldr r4, [r1, #0x10]
@@ -553,12 +562,12 @@ _020130A8:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_020130AC: .word 0x021C4850
_020130AC: .word UNK_021C4850
thumb_func_start FUN_020130B0
FUN_020130B0: ; 0x020130B0
push {r4, lr}
ldr r1, _020130D8 ; =0x021C4850
ldr r1, _020130D8 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x34]
ldr r4, [r1, #0x10]
@@ -579,12 +588,12 @@ _020130D4:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_020130D8: .word 0x021C4850
_020130D8: .word UNK_021C4850
thumb_func_start FUN_020130DC
FUN_020130DC: ; 0x020130DC
push {r4, lr}
ldr r1, _02013104 ; =0x021C4850
ldr r1, _02013104 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x38]
ldr r4, [r1, #0x10]
@@ -605,12 +614,12 @@ _02013100:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02013104: .word 0x021C4850
_02013104: .word UNK_021C4850
thumb_func_start FUN_02013108
FUN_02013108: ; 0x02013108
push {r4, lr}
ldr r1, _02013130 ; =0x021C4850
ldr r1, _02013130 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x3c]
ldr r4, [r1, #0x10]
@@ -631,12 +640,12 @@ _0201312C:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02013130: .word 0x021C4850
_02013130: .word UNK_021C4850
thumb_func_start FUN_02013134
FUN_02013134: ; 0x02013134
push {r4, lr}
ldr r1, _0201315C ; =0x021C4850
ldr r1, _0201315C ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x40]
ldr r4, [r1, #0x10]
@@ -657,12 +666,12 @@ _02013158:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_0201315C: .word 0x021C4850
_0201315C: .word UNK_021C4850
thumb_func_start FUN_02013160
FUN_02013160: ; 0x02013160
push {r4, lr}
ldr r1, _02013188 ; =0x021C4850
ldr r1, _02013188 ; =UNK_021C4850
mov r2, #0x3
ldr r1, [r1, #0x44]
ldr r4, [r1, #0x10]
@@ -683,7 +692,7 @@ _02013184:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02013188: .word 0x021C4850
_02013188: .word UNK_021C4850
thumb_func_start FUN_0201318C
FUN_0201318C: ; 0x0201318C
@@ -778,7 +787,7 @@ FUN_02013228: ; 0x02013228
ldr r0, [r4, #0x0]
ldr r1, [r4, #0x4]
bl FUN_0208B128
ldr r0, _02013264 ; =0x021C4850
ldr r0, _02013264 ; =UNK_021C4850
str r4, [r0, #0x0]
ldr r1, [r4, #0x18]
ldr r0, [r4, #0x0]
@@ -798,12 +807,12 @@ _0201324A:
_02013258:
bl FUN_0208AFA8
_0201325C:
ldr r0, _02013264 ; =0x021C4850
ldr r0, _02013264 ; =UNK_021C4850
mov r1, #0x0
str r1, [r0, #0x0]
pop {r4, pc}
.balign 4
_02013264: .word 0x021C4850
_02013264: .word UNK_021C4850
thumb_func_start FUN_02013268
FUN_02013268: ; 0x02013268
@@ -823,13 +832,13 @@ FUN_0201327C: ; 0x0201327C
bne _02013286
bl ErrorHandling
_02013286:
ldr r0, _020132B8 ; =0x021C4850
ldr r0, _020132B8 ; =UNK_021C4850
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _02013292
bl ErrorHandling
_02013292:
ldr r0, _020132B8 ; =0x021C4850
ldr r0, _020132B8 ; =UNK_021C4850
mov r1, #0x0
ldr r3, [r0, #0x0]
add r2, r3, #0x0
@@ -849,7 +858,7 @@ _020132A8:
bl ErrorHandling
pop {r4, pc}
nop
_020132B8: .word 0x021C4850
_020132B8: .word UNK_021C4850
thumb_func_start FUN_020132BC
FUN_020132BC: ; 0x020132BC
@@ -858,13 +867,13 @@ FUN_020132BC: ; 0x020132BC
bne _020132C6
bl ErrorHandling
_020132C6:
ldr r0, _020132FC ; =0x021C4850
ldr r0, _020132FC ; =UNK_021C4850
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _020132D2
bl ErrorHandling
_020132D2:
ldr r0, _020132FC ; =0x021C4850
ldr r0, _020132FC ; =UNK_021C4850
mov r1, #0x0
ldr r3, [r0, #0x0]
add r2, r3, #0x0
@@ -887,7 +896,7 @@ _020132EE:
bl ErrorHandling
pop {r4, pc}
.balign 4
_020132FC: .word 0x021C4850
_020132FC: .word UNK_021C4850
thumb_func_start FUN_02013300
FUN_02013300: ; 0x02013300
@@ -905,7 +914,7 @@ FUN_02013300: ; 0x02013300
_0201331C:
bl FUN_020B849C
ldr r0, [r4, #0x0]
ldr r1, _02013338 ; =0x021CED64
ldr r1, _02013338 ; =UNK_021CED64
bl FUN_0208AD80
ldr r0, [r4, #0x20]
cmp r0, #0x0
@@ -915,7 +924,7 @@ _02013332:
bl FUN_020B849C
pop {r4, pc}
.balign 4
_02013338: .word 0x021CED64
_02013338: .word UNK_021CED64
thumb_func_start FUN_0201333C
FUN_0201333C: ; 0x0201333C
@@ -928,7 +937,7 @@ _02013344: .word 0x0208AE48
thumb_func_start FUN_02013348
FUN_02013348: ; 0x02013348
mov r0, #0x0
ldr r3, _02013360 ; =0x021C4858
ldr r3, _02013360 ; =UNK_021C4858
add r2, r0, #0x0
_0201334E:
ldr r1, [r3, #0x0]
@@ -942,13 +951,13 @@ _02013356:
blt _0201334E
bx lr
.balign 4
_02013360: .word 0x021C4858
_02013360: .word UNK_021C4858
thumb_func_start FUN_02013364
FUN_02013364: ; 0x02013364
push {r4-r6, lr}
mov r4, #0x0
ldr r5, _02013384 ; =0x021C4858
ldr r5, _02013384 ; =UNK_021C4858
add r6, r4, #0x0
_0201336C:
ldr r0, [r5, #0x0]
@@ -964,13 +973,13 @@ _02013378:
add r0, r4, #0x0
pop {r4-r6, pc}
.balign 4
_02013384: .word 0x021C4858
_02013384: .word UNK_021C4858
thumb_func_start FUN_02013388
FUN_02013388: ; 0x02013388
push {r4-r6, lr}
mov r4, #0x0
ldr r5, _020133A8 ; =0x021C4858
ldr r5, _020133A8 ; =UNK_021C4858
add r6, r4, #0x0
_02013390:
ldr r0, [r5, #0x0]
@@ -986,23 +995,23 @@ _0201339C:
add r0, r4, #0x0
pop {r4-r6, pc}
.balign 4
_020133A8: .word 0x021C4858
_020133A8: .word UNK_021C4858
thumb_func_start FUN_020133AC
FUN_020133AC: ; 0x020133AC
push {r4, lr}
add r4, r0, #0x0
ldr r0, _020133C4 ; =0x021C4850
ldr r0, _020133C4 ; =UNK_021C4850
str r3, [r0, #0x4]
ldr r0, [r4, #0x0]
bl FUN_0208ACEC
ldr r1, _020133C4 ; =0x021C4850
ldr r1, _020133C4 ; =UNK_021C4850
mov r2, #0x0
str r2, [r1, #0x4]
str r0, [r4, #0x8]
pop {r4, pc}
.balign 4
_020133C4: .word 0x021C4850
_020133C4: .word UNK_021C4850
thumb_func_start FUN_020133C8
FUN_020133C8: ; 0x020133C8
@@ -1063,15 +1072,15 @@ FUN_020133FC: ; 0x020133FC
thumb_func_start FUN_0201341C
FUN_0201341C: ; 0x0201341C
ldr r0, _02013424 ; =0x021C4850
ldr r0, _02013424 ; =UNK_021C4850
ldr r0, [r0, #0x4]
bx lr
nop
_02013424: .word 0x021C4850
_02013424: .word UNK_021C4850
thumb_func_start FUN_02013428
FUN_02013428: ; 0x02013428
ldr r2, _02013438 ; =0x020ED4E4
ldr r2, _02013438 ; =UNK_020ED4E4
add r3, r0, #0x0
ldmia r2!, {r0-r1}
stmia r3!, {r0-r1}
@@ -1079,7 +1088,7 @@ FUN_02013428: ; 0x02013428
str r0, [r3, #0x0]
bx lr
nop
_02013438: .word 0x020ED4E4
_02013438: .word UNK_020ED4E4
thumb_func_start FUN_0201343C
FUN_0201343C: ; 0x0201343C
@@ -1452,7 +1461,7 @@ FUN_02013690: ; 0x02013690
str r0, [r4, #0x0]
mov r0, #0x4
bl FUN_020219F4
ldr r1, _020136BC ; =0x020ED548
ldr r1, _020136BC ; =UNK_020ED548
str r0, [r4, #0x4]
bl FUN_02021E28
_020136B2:
@@ -1460,7 +1469,7 @@ _020136B2:
pop {r3-r5, pc}
nop
_020136B8: .word 0x0001020F
_020136BC: .word 0x020ED548
_020136BC: .word UNK_020ED548
thumb_func_start FUN_020136C0
FUN_020136C0: ; 0x020136C0

View File

@@ -1,6 +1,14 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ED557
.extern UNK_020ED55E
.extern UNK_020ED54C
.extern UNK_020ED556
.extern UNK_020ED55C
.extern UNK_020ED558
.extern UNK_020ED55A
.text
thumb_func_start FUN_02013724
@@ -58,43 +66,43 @@ _02013772:
mov r0, #0xa
add r4, r6, #0x0
mul r4, r0
ldr r1, _020137BC ; =0x020ED556
ldr r1, _020137BC ; =UNK_020ED556
add r0, r5, #0x0
ldrb r1, [r1, r4]
bl FUN_0201373C
ldr r0, _020137C0 ; =0x020ED557
ldr r0, _020137C0 ; =UNK_020ED557
mov r1, #0x0
ldrb r0, [r0, r4]
mvn r1, r1
strh r0, [r5, #0x2]
ldr r0, _020137C4 ; =0x020ED558
ldr r0, _020137C4 ; =UNK_020ED558
ldrsh r0, [r0, r4]
cmp r0, r1
beq _020137A2
ldr r1, _020137C8 ; =0x020ED55A
ldr r1, _020137C8 ; =UNK_020ED55A
ldrh r1, [r1, r4]
bl FUN_02013A9C
strh r0, [r5, #0x4]
_020137A2:
ldr r0, _020137CC ; =0x020ED55C
ldr r0, _020137CC ; =UNK_020ED55C
mov r1, #0x0
ldrsh r0, [r0, r4]
mvn r1, r1
cmp r0, r1
beq _020137B8
ldr r1, _020137D0 ; =0x020ED55E
ldr r1, _020137D0 ; =UNK_020ED55E
ldrh r1, [r1, r4]
bl FUN_02013A9C
strh r0, [r5, #0x6]
_020137B8:
pop {r4-r6, pc}
nop
_020137BC: .word 0x020ED556
_020137C0: .word 0x020ED557
_020137C4: .word 0x020ED558
_020137C8: .word 0x020ED55A
_020137CC: .word 0x020ED55C
_020137D0: .word 0x020ED55E
_020137BC: .word UNK_020ED556
_020137C0: .word UNK_020ED557
_020137C4: .word UNK_020ED558
_020137C8: .word UNK_020ED55A
_020137CC: .word UNK_020ED55C
_020137D0: .word UNK_020ED55E
thumb_func_start FUN_020137D4
FUN_020137D4: ; 0x020137D4
@@ -125,7 +133,7 @@ _02013800:
ldrh r2, [r2, #0x0]
mov r1, #0x1a
lsl r3, r2, #0x1
ldr r2, _0201383C ; =0x020ED54C
ldr r2, _0201383C ; =UNK_020ED54C
ldrh r2, [r2, r3]
ldr r3, [sp, #0x4]
bl FUN_0200A86C
@@ -146,7 +154,7 @@ _02013800:
pop {r3-r7, pc}
.balign 4
_02013838: .word 0x0000FFFF
_0201383C: .word 0x020ED54C
_0201383C: .word UNK_020ED54C
thumb_func_start FUN_02013840
FUN_02013840: ; 0x02013840
@@ -156,13 +164,13 @@ FUN_02013840: ; 0x02013840
ldrh r1, [r4, #0x0]
mov r0, #0x1a
lsl r2, r1, #0x1
ldr r1, _02013858 ; =0x020ED54C
ldr r1, _02013858 ; =UNK_020ED54C
ldrh r1, [r1, r2]
ldrh r2, [r4, #0x2]
bl FUN_0200A738
pop {r4, pc}
.balign 4
_02013858: .word 0x020ED54C
_02013858: .word UNK_020ED54C
thumb_func_start FUN_0201385C
FUN_0201385C: ; 0x0201385C
@@ -221,7 +229,7 @@ _020138AE:
blo _020138BC
bl ErrorHandling
_020138BC:
ldr r1, _02013910 ; =0x020ED54C
ldr r1, _02013910 ; =UNK_020ED54C
lsl r2, r5, #0x1
ldrh r1, [r1, r2]
mov r0, #0x1a
@@ -263,7 +271,7 @@ _02013904:
add r0, r5, #0x0
pop {r3-r7, pc}
nop
_02013910: .word 0x020ED54C
_02013910: .word UNK_020ED54C
_02013914: .word 0x0000FFFF
thumb_func_start FUN_02013918

View File

@@ -1,6 +1,13 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ED5B5
.extern UNK_020ED5F0
.extern UNK_020ED5C0
.extern UNK_020ED5D6
.extern UNK_020ED5EC
.extern UNK_020ED5B4
.text
thumb_func_start FUN_020139D8
@@ -9,7 +16,7 @@ FUN_020139D8: ; 0x020139D8
mov r1, #0x30
add r6, r0, #0x0
bl FUN_02016998
ldr r4, _02013A0C ; =0x020ED5C0
ldr r4, _02013A0C ; =UNK_020ED5C0
str r0, [sp, #0x0]
mov r7, #0x0
add r5, r0, #0x0
@@ -30,7 +37,7 @@ _020139EA:
ldr r0, [sp, #0x0]
pop {r3-r7, pc}
nop
_02013A0C: .word 0x020ED5C0
_02013A0C: .word UNK_020ED5C0
thumb_func_start FUN_02013A10
FUN_02013A10: ; 0x02013A10
@@ -85,7 +92,7 @@ FUN_02013A58: ; 0x02013A58
ldr r0, [sp, #0x8]
mov r3, #0x0
lsl r1, r0, #0x1
ldr r0, _02013A98 ; =0x020ED5C0
ldr r0, _02013A98 ; =UNK_020ED5C0
ldrh r0, [r0, r1]
str r0, [sp, #0x8]
str r4, [sp, #0x0]
@@ -102,12 +109,12 @@ _02013A88:
pop {r3-r4, pc}
nop
_02013A94: .word 0x0000FFFF
_02013A98: .word 0x020ED5C0
_02013A98: .word UNK_020ED5C0
thumb_func_start FUN_02013A9C
FUN_02013A9C: ; 0x02013A9C
push {r4-r5}
ldr r4, _02013AE0 ; =0x020ED5C0
ldr r4, _02013AE0 ; =UNK_020ED5C0
mov r2, #0x0
_02013AA2:
ldrh r3, [r4, #0x0]
@@ -117,7 +124,7 @@ _02013AA2:
add r3, r4, #0x0
cmp r2, #0x0
bls _02013AC6
ldr r0, _02013AE4 ; =0x020ED5D6
ldr r0, _02013AE4 ; =UNK_020ED5D6
_02013AB2:
lsl r5, r4, #0x1
ldrh r5, [r0, r5]
@@ -144,15 +151,15 @@ _02013AD0:
pop {r4-r5}
bx lr
nop
_02013AE0: .word 0x020ED5C0
_02013AE4: .word 0x020ED5D6
_02013AE0: .word UNK_020ED5C0
_02013AE4: .word UNK_020ED5D6
_02013AE8: .word 0x0000FFFF
thumb_func_start FUN_02013AEC
FUN_02013AEC: ; 0x02013AEC
push {r3-r6}
ldr r3, _02013B20 ; =0x00000FFF
ldr r6, _02013B24 ; =0x020ED5D6
ldr r6, _02013B24 ; =UNK_020ED5D6
and r3, r0
mov r0, #0x0
add r5, r0, #0x0
@@ -162,7 +169,7 @@ _02013AF8:
cmp r3, r0
bhs _02013B12
str r5, [r1, #0x0]
ldr r1, _02013B24 ; =0x020ED5D6
ldr r1, _02013B24 ; =UNK_020ED5D6
lsl r4, r5, #0x1
ldrh r1, [r1, r4]
sub r0, r0, r1
@@ -179,7 +186,7 @@ _02013B12:
bx lr
nop
_02013B20: .word 0x00000FFF
_02013B24: .word 0x020ED5D6
_02013B24: .word UNK_020ED5D6
thumb_func_start FUN_02013B28
FUN_02013B28: ; 0x02013B28
@@ -191,13 +198,13 @@ FUN_02013B2C: ; 0x02013B2C
push {r3, lr}
mov r2, #0x0
str r2, [r0, #0x0]
ldr r3, _02013B54 ; =0x020ED5B4
ldr r3, _02013B54 ; =UNK_020ED5B4
str r2, [r0, #0x4]
_02013B36:
ldrb r1, [r3, #0x0]
cmp r1, #0x2
bne _02013B48
ldr r1, _02013B58 ; =0x020ED5B5
ldr r1, _02013B58 ; =UNK_020ED5B5
lsl r2, r2, #0x1
ldrb r1, [r1, r2]
bl FUN_02013C18
@@ -209,8 +216,8 @@ _02013B48:
blo _02013B36
pop {r3, pc}
nop
_02013B54: .word 0x020ED5B4
_02013B58: .word 0x020ED5B5
_02013B54: .word UNK_020ED5B4
_02013B58: .word UNK_020ED5B5
thumb_func_start FUN_02013B5C
FUN_02013B5C: ; 0x02013B5C
@@ -301,7 +308,7 @@ _02013BDA:
FUN_02013BE4: ; 0x02013BE4
push {r3-r4}
mov r3, #0x0
ldr r4, _02013C08 ; =0x020ED5D6
ldr r4, _02013C08 ; =UNK_020ED5D6
add r2, r3, #0x0
_02013BEC:
ldrh r1, [r4, #0x0]
@@ -318,7 +325,7 @@ _02013BEC:
pop {r3-r4}
bx lr
nop
_02013C08: .word 0x020ED5D6
_02013C08: .word UNK_020ED5D6
thumb_func_start FUN_02013C0C
FUN_02013C0C: ; 0x02013C0C
@@ -344,7 +351,7 @@ FUN_02013C18: ; 0x02013C18
FUN_02013C28: ; 0x02013C28
push {r4-r7}
mov r3, #0x0
ldr r5, _02013C64 ; =0x020ED5EC
ldr r5, _02013C64 ; =UNK_020ED5EC
add r2, r3, #0x0
_02013C30:
ldr r7, [r5, #0x4]
@@ -356,7 +363,7 @@ _02013C3A:
ldrh r1, [r6, #0x0]
cmp r0, r1
bne _02013C4C
ldr r0, _02013C68 ; =0x020ED5F0
ldr r0, _02013C68 ; =UNK_020ED5F0
lsl r1, r3, #0x3
ldr r0, [r0, r1]
sub r0, r0, #0x1
@@ -376,13 +383,13 @@ _02013C54:
pop {r4-r7}
bx lr
nop
_02013C64: .word 0x020ED5EC
_02013C68: .word 0x020ED5F0
_02013C64: .word UNK_020ED5EC
_02013C68: .word UNK_020ED5F0
thumb_func_start FUN_02013C6C
FUN_02013C6C: ; 0x02013C6C
push {r3-r7, lr}
ldr r3, _02013CC8 ; =0x020ED5EC
ldr r3, _02013CC8 ; =UNK_020ED5EC
add r6, r1, #0x0
mov r7, #0x0
_02013C74:
@@ -395,19 +402,19 @@ _02013C7E:
ldrh r1, [r4, #0x0]
cmp r0, r1
bne _02013CB4
ldr r2, _02013CCC ; =0x020ED5F0
ldr r2, _02013CCC ; =UNK_020ED5F0
lsl r1, r7, #0x3
ldr r2, [r2, r1]
mov r0, #0x0
cmp r2, #0x0
beq _02013CAC
ldr r2, _02013CC8 ; =0x020ED5EC
ldr r2, _02013CC8 ; =UNK_020ED5EC
add r2, r2, r1
ldr r2, [r2, #0x4]
_02013C96:
cmp r6, #0x0
bne _02013CA4
ldr r2, _02013CC8 ; =0x020ED5EC
ldr r2, _02013CC8 ; =UNK_020ED5EC
lsl r0, r0, #0x1
ldr r1, [r2, r1]
ldrh r0, [r1, r0]
@@ -433,6 +440,6 @@ _02013CBC:
blo _02013C74
pop {r3-r7, pc}
nop
_02013CC8: .word 0x020ED5EC
_02013CCC: .word 0x020ED5F0
_02013CC8: .word UNK_020ED5EC
_02013CCC: .word UNK_020ED5F0
_02013CD0: .word 0x0000FFFF

View File

@@ -1,6 +1,12 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021064C0
.extern UNK_020FFA38
.extern UNK_021064B8
.extern UNK_021064C4
.extern UNK_021064BC
.text
thumb_func_start FUN_02013CD4
@@ -135,7 +141,7 @@ _02013DC6:
thumb_func_start FUN_02013DD4
FUN_02013DD4: ; 0x02013DD4
push {r4, lr}
ldr r1, _02013DE8 ; =0x021064BC
ldr r1, _02013DE8 ; =UNK_021064BC
add r4, r0, #0x0
ldr r0, [r4, #0x0]
ldr r1, [r1, #0x0]
@@ -144,7 +150,7 @@ FUN_02013DD4: ; 0x02013DD4
bl FUN_02013F50
pop {r4, pc}
.balign 4
_02013DE8: .word 0x021064BC
_02013DE8: .word UNK_021064BC
thumb_func_start FUN_02013DEC
FUN_02013DEC: ; 0x02013DEC
@@ -198,7 +204,7 @@ _02013E36:
thumb_func_start FUN_02013E44
FUN_02013E44: ; 0x02013E44
push {r4, lr}
ldr r1, _02013E58 ; =0x021064C4
ldr r1, _02013E58 ; =UNK_021064C4
add r4, r0, #0x0
ldr r0, [r4, #0x0]
ldr r1, [r1, #0x0]
@@ -207,7 +213,7 @@ FUN_02013E44: ; 0x02013E44
bl FUN_02013F5C
pop {r4, pc}
.balign 4
_02013E58: .word 0x021064C4
_02013E58: .word UNK_021064C4
thumb_func_start FUN_02013E5C
FUN_02013E5C: ; 0x02013E5C
@@ -579,7 +585,7 @@ _02014076:
thumb_func_start FUN_0201407C
FUN_0201407C: ; 0x0201407C
push {r3, lr}
ldr r3, _0201408C ; =0x021064B8
ldr r3, _0201408C ; =UNK_021064B8
mov r1, #0x0
ldr r0, [r0, #0x10]
ldr r3, [r3, #0x0]
@@ -587,12 +593,12 @@ FUN_0201407C: ; 0x0201407C
blx r3
pop {r3, pc}
.balign 4
_0201408C: .word 0x021064B8
_0201408C: .word UNK_021064B8
thumb_func_start FUN_02014090
FUN_02014090: ; 0x02014090
push {r3, lr}
ldr r3, _020140A0 ; =0x021064C0
ldr r3, _020140A0 ; =UNK_021064C0
mov r1, #0x0
ldr r3, [r3, #0x0]
lsl r0, r0, #0x5
@@ -600,7 +606,7 @@ FUN_02014090: ; 0x02014090
blx r3
pop {r3, pc}
.balign 4
_020140A0: .word 0x021064C0
_020140A0: .word UNK_021064C0
thumb_func_start FUN_020140A4
FUN_020140A4: ; 0x020140A4
@@ -735,7 +741,7 @@ _02014172:
str r1, [r3, #0x0]
str r2, [r3, #0x0]
ldr r0, [r5, #0x18]
ldr r1, _0201420C ; =0x020FFA38
ldr r1, _0201420C ; =UNK_020FFA38
asr r0, r0, #0x4
lsl r2, r0, #0x1
lsl r0, r2, #0x1
@@ -787,7 +793,7 @@ _020141FC: .word 0x7FFF8000
_02014200: .word 0x00004210
_02014204: .word 0x040004AC
_02014208: .word 0x04000470
_0201420C: .word 0x020FFA38
_0201420C: .word UNK_020FFA38
_02014210: .word 0x0400046C
_02014214: .word 0x04000448

View File

@@ -1,6 +1,13 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ED668
.extern UNK_020FFA38
.extern UNK_020ED64C
.extern UNK_020ED66C
.extern UNK_020ED670
.extern UNK_020ED6A4
.text
thumb_func_start FUN_02014BF4
@@ -48,11 +55,11 @@ FUN_02014C3C: ; 0x02014C3C
blo _02014C48
bl ErrorHandling
_02014C48:
ldr r0, _02014C50 ; =0x020ED64C
ldr r0, _02014C50 ; =UNK_020ED64C
ldrb r0, [r0, r4]
pop {r4, pc}
nop
_02014C50: .word 0x020ED64C
_02014C50: .word UNK_020ED64C
thumb_func_start FUN_02014C54
FUN_02014C54: ; 0x02014C54
@@ -359,7 +366,7 @@ _02014E7E:
_02014E96:
add r6, r5, #0x0
add r4, r5, #0x0
ldr r7, _02014F04 ; =0x020ED6A4
ldr r7, _02014F04 ; =UNK_020ED6A4
add r6, #0xc
add r4, #0x44
_02014EA0:
@@ -410,7 +417,7 @@ _02014EF8:
nop
_02014EFC: .word 0x000001CD
_02014F00: .word 0x000001CF
_02014F04: .word 0x020ED6A4
_02014F04: .word UNK_020ED6A4
thumb_func_start FUN_02014F08
FUN_02014F08: ; 0x02014F08
@@ -465,7 +472,7 @@ _02014F3E:
mov r0, #0xc
add r1, r5, #0x0
mul r1, r0
ldr r0, _02014F7C ; =0x020ED668
ldr r0, _02014F7C ; =UNK_020ED668
ldr r0, [r0, r1]
str r0, [r4, #0x50]
add r0, r4, #0x0
@@ -480,7 +487,7 @@ _02014F68:
mov r0, #0x0
pop {r3-r5, pc}
nop
_02014F7C: .word 0x020ED668
_02014F7C: .word UNK_020ED668
thumb_func_start FUN_02014F80
FUN_02014F80: ; 0x02014F80
@@ -1241,7 +1248,7 @@ FUN_0201551C: ; 0x0201551C
ldr r2, [sp, #0x4]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _0201554C ; =0x020FFA38
ldr r0, _0201554C ; =UNK_020FFA38
ldrsh r0, [r0, r1]
mul r0, r2
asr r1, r0, #0xc
@@ -1253,7 +1260,7 @@ FUN_0201551C: ; 0x0201551C
add sp, #0xc
pop {r3-r4, pc}
nop
_0201554C: .word 0x020FFA38
_0201554C: .word UNK_020FFA38
thumb_func_start FUN_02015550
FUN_02015550: ; 0x02015550
@@ -1270,7 +1277,7 @@ FUN_02015550: ; 0x02015550
lsl r1, r1, #0x1
add r1, r1, #0x1
lsl r2, r1, #0x1
ldr r1, _02015584 ; =0x020FFA38
ldr r1, _02015584 ; =UNK_020FFA38
ldrsh r1, [r1, r2]
mul r1, r0
add r0, sp, #0x0
@@ -1282,7 +1289,7 @@ FUN_02015550: ; 0x02015550
add sp, #0xc
pop {r3-r4, pc}
nop
_02015584: .word 0x020FFA38
_02015584: .word UNK_020FFA38
thumb_func_start FUN_02015588
FUN_02015588: ; 0x02015588
@@ -1869,13 +1876,13 @@ FUN_0201598C: ; 0x0201598C
bl FUN_02014F94
mov r0, #0xc
mul r0, r6
ldr r1, _02015A28 ; =0x020ED66C
ldr r1, _02015A28 ; =UNK_020ED66C
str r0, [sp, #0x0]
ldr r0, [r1, r0]
mov r4, #0x0
cmp r0, #0x0
ble _020159E2
ldr r1, _02015A2C ; =0x020ED668
ldr r1, _02015A2C ; =UNK_020ED668
ldr r0, [sp, #0x0]
add r6, r1, r0
ldr r0, [sp, #0x4]
@@ -1892,7 +1899,7 @@ _020159CC:
cmp r4, r0
blt _020159CC
_020159E2:
ldr r1, _02015A30 ; =0x020ED670
ldr r1, _02015A30 ; =UNK_020ED670
ldr r0, [sp, #0x0]
add r2, r5, #0x0
ldr r0, [r1, r0]
@@ -1928,9 +1935,9 @@ _02015A14:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_02015A28: .word 0x020ED66C
_02015A2C: .word 0x020ED668
_02015A30: .word 0x020ED670
_02015A28: .word UNK_020ED66C
_02015A2C: .word UNK_020ED668
_02015A30: .word UNK_020ED670
thumb_func_start FUN_02015A34
FUN_02015A34: ; 0x02015A34
@@ -1962,7 +1969,7 @@ _02015A5C: ; jump table (using 16-bit offset)
_02015A64:
asr r0, r1, #0x4
lsl r1, r0, #0x2
ldr r0, _02015AE8 ; =0x020FFA38
ldr r0, _02015AE8 ; =UNK_020FFA38
ldr r2, [r4, #0xc]
ldrsh r0, [r0, r1]
mul r0, r2
@@ -1975,7 +1982,7 @@ _02015A78:
lsl r1, r1, #0x1
add r1, r1, #0x1
lsl r2, r1, #0x1
ldr r1, _02015AE8 ; =0x020FFA38
ldr r1, _02015AE8 ; =UNK_020FFA38
ldr r0, [r4, #0xc]
ldrsh r1, [r1, r2]
mul r1, r0
@@ -1986,7 +1993,7 @@ _02015A78:
_02015A90:
asr r0, r1, #0x4
lsl r1, r0, #0x2
ldr r0, _02015AE8 ; =0x020FFA38
ldr r0, _02015AE8 ; =UNK_020FFA38
ldr r2, [r4, #0xc]
ldrsh r0, [r0, r1]
mul r0, r2
@@ -2000,7 +2007,7 @@ _02015AA6:
lsl r1, r1, #0x1
add r1, r1, #0x1
lsl r2, r1, #0x1
ldr r1, _02015AE8 ; =0x020FFA38
ldr r1, _02015AE8 ; =UNK_020FFA38
ldr r0, [r4, #0xc]
ldrsh r1, [r1, r2]
mul r1, r0
@@ -2031,7 +2038,7 @@ _02015AC4:
_02015AE6:
pop {r4, pc}
.balign 4
_02015AE8: .word 0x020FFA38
_02015AE8: .word UNK_020FFA38
thumb_func_start FUN_02015AEC
FUN_02015AEC: ; 0x02015AEC
@@ -2065,7 +2072,7 @@ _02015B1A: ; jump table (using 16-bit offset)
_02015B22:
asr r0, r1, #0x4
lsl r1, r0, #0x2
ldr r0, _02015BA8 ; =0x020FFA38
ldr r0, _02015BA8 ; =UNK_020FFA38
ldr r2, [r4, #0xc]
ldrsh r0, [r0, r1]
mul r0, r2
@@ -2078,7 +2085,7 @@ _02015B36:
lsl r1, r1, #0x1
add r1, r1, #0x1
lsl r2, r1, #0x1
ldr r1, _02015BA8 ; =0x020FFA38
ldr r1, _02015BA8 ; =UNK_020FFA38
ldr r0, [r4, #0xc]
ldrsh r1, [r1, r2]
mul r1, r0
@@ -2089,7 +2096,7 @@ _02015B36:
_02015B4E:
asr r0, r1, #0x4
lsl r1, r0, #0x2
ldr r0, _02015BA8 ; =0x020FFA38
ldr r0, _02015BA8 ; =UNK_020FFA38
ldr r2, [r4, #0xc]
ldrsh r0, [r0, r1]
mul r0, r2
@@ -2103,7 +2110,7 @@ _02015B64:
lsl r1, r1, #0x1
add r1, r1, #0x1
lsl r2, r1, #0x1
ldr r1, _02015BA8 ; =0x020FFA38
ldr r1, _02015BA8 ; =UNK_020FFA38
ldr r0, [r4, #0xc]
ldrsh r1, [r1, r2]
mul r1, r0
@@ -2134,7 +2141,7 @@ _02015B82:
_02015BA4:
pop {r4, pc}
nop
_02015BA8: .word 0x020FFA38
_02015BA8: .word UNK_020FFA38
thumb_func_start FUN_02015BAC
FUN_02015BAC: ; 0x02015BAC

View File

@@ -1,11 +1,13 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ED72C
.text
thumb_func_start FUN_02015CC0
FUN_02015CC0: ; 0x02015CC0
ldr r3, _02015CDC ; =0x020ED72C
ldr r3, _02015CDC ; =UNK_020ED72C
mov r2, #0x0
_02015CC4:
ldrh r1, [r3, #0x2]
@@ -21,7 +23,7 @@ _02015CCE:
add r0, r2, #0x0
bx lr
nop
_02015CDC: .word 0x020ED72C
_02015CDC: .word UNK_020ED72C
thumb_func_start FUN_02015CE0
FUN_02015CE0: ; 0x02015CE0
@@ -29,12 +31,12 @@ FUN_02015CE0: ; 0x02015CE0
add r4, r0, #0x0
bl FUN_02015CC0
lsl r1, r0, #0x1
ldr r0, _02015CF4 ; =0x020ED72C
ldr r0, _02015CF4 ; =UNK_020ED72C
ldrh r0, [r0, r1]
sub r0, r4, r0
pop {r4, pc}
nop
_02015CF4: .word 0x020ED72C
_02015CF4: .word UNK_020ED72C
thumb_func_start FUN_02015CF8
FUN_02015CF8: ; 0x02015CF8
@@ -45,10 +47,10 @@ FUN_02015CF8: ; 0x02015CF8
blt _02015D06
bl ErrorHandling
_02015D06:
ldr r0, _02015D10 ; =0x020ED72C
ldr r0, _02015D10 ; =UNK_020ED72C
lsl r1, r5, #0x1
ldrh r0, [r0, r1]
add r0, r4, r0
pop {r3-r5, pc}
.balign 4
_02015D10: .word 0x020ED72C
_02015D10: .word UNK_020ED72C

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ED734
.text
thumb_func_start FUN_02015D14
@@ -95,7 +97,7 @@ _02015D9E:
sub r0, r0, #0x1
str r0, [sp, #0xc]
beq _02015E18
ldr r1, _02015E28 ; =0x020ED734
ldr r1, _02015E28 ; =UNK_020ED734
lsl r0, r2, #0x1
ldr r5, [sp, #0x4]
add r7, r1, r0
@@ -167,5 +169,5 @@ _02015E18:
add sp, #0x10
pop {r3-r7, pc}
nop
_02015E28: .word 0x020ED734
_02015E28: .word UNK_020ED734
_02015E2C: .word 0x0000FFFF

View File

@@ -1,21 +1,23 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C4898
.text
thumb_func_start FUN_02015E30
FUN_02015E30: ; 0x02015E30
ldr r0, _02015E38 ; =0x021C4898
ldr r0, _02015E38 ; =UNK_021C4898
mov r1, #0x0
str r1, [r0, #0x0]
bx lr
.balign 4
_02015E38: .word 0x021C4898
_02015E38: .word UNK_021C4898
thumb_func_start FUN_02015E3C
FUN_02015E3C: ; 0x02015E3C
push {r3, lr}
ldr r1, _02015E5C ; =0x021C4898
ldr r1, _02015E5C ; =UNK_021C4898
mov r2, #0x1
str r2, [r1, #0x0]
mov r2, #0x0
@@ -25,29 +27,29 @@ FUN_02015E3C: ; 0x02015E3C
str r2, [r1, #0xc]
str r0, [r1, #0x4]
bl FUN_02020BF4
ldr r2, _02015E5C ; =0x021C4898
ldr r2, _02015E5C ; =UNK_021C4898
str r0, [r2, #0x18]
str r1, [r2, #0x1c]
pop {r3, pc}
.balign 4
_02015E5C: .word 0x021C4898
_02015E5C: .word UNK_021C4898
thumb_func_start FUN_02015E60
FUN_02015E60: ; 0x02015E60
push {r3-r5, lr}
ldr r0, _02015E9C ; =0x021C4898
ldr r0, _02015E9C ; =UNK_021C4898
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _02015E9A
bl FUN_02020BF4
ldr r2, _02015E9C ; =0x021C4898
ldr r2, _02015E9C ; =UNK_021C4898
ldr r3, [r2, #0x18]
ldr r2, [r2, #0x1c]
sub r0, r0, r3
sbc r1, r2
bl FUN_02020C14
add r5, r1, #0x0
ldr r1, _02015E9C ; =0x021C4898
ldr r1, _02015E9C ; =UNK_021C4898
add r4, r0, #0x0
ldr r3, [r1, #0x8]
ldr r2, [r1, #0xc]
@@ -57,10 +59,10 @@ FUN_02015E60: ; 0x02015E60
ldr r0, [r1, #0x4]
sub r1, r4, r3
bl FUN_02029E54
ldr r0, _02015E9C ; =0x021C4898
ldr r0, _02015E9C ; =UNK_021C4898
str r4, [r0, #0x8]
str r5, [r0, #0xc]
_02015E9A:
pop {r3-r5, pc}
.balign 4
_02015E9C: .word 0x021C4898
_02015E9C: .word UNK_021C4898

View File

@@ -1,6 +1,14 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C48F8
.extern gUnk021C4918
.extern UNK_021C4928
.extern UNK_021C492C
.extern UNK_021C4D20
.extern gUnknown21C48B8
.extern UNK_020EDB10
.text
thumb_func_start FUN_02015EA0
@@ -14,10 +22,10 @@ FUN_02015EA0: ; 0x02015EA0
str r0, [r3, r1]
mov r0, #0x3
bl MI_WaitDma
ldr r0, _02015ED0 ; =0x021C48B8
ldr r0, _02015ED0 ; =gUnknown21C48B8
ldr r0, [r0, #0x1c]
bl FUN_0201B5CC
ldr r0, _02015ED0 ; =0x021C48B8
ldr r0, _02015ED0 ; =gUnknown21C48B8
ldr r1, [r0, #0x30]
add r1, r1, #0x1
str r1, [r0, #0x30]
@@ -25,7 +33,7 @@ FUN_02015EA0: ; 0x02015EA0
nop
_02015EC8: .word 0x027E0000
_02015ECC: .word 0x00003FF8
_02015ED0: .word 0x021C48B8
_02015ED0: .word gUnknown21C48B8
thumb_func_start FUN_02015ED4
FUN_02015ED4: ; 0x02015ED4
@@ -59,25 +67,25 @@ _02015F0C: .word FUN_02015ED4
thumb_func_start FUN_02015F10
FUN_02015F10: ; 0x02015F10
ldr r2, _02015F18 ; =0x021C48B8
ldr r2, _02015F18 ; =gUnknown21C48B8
str r0, [r2, #0x0]
str r1, [r2, #0x4]
bx lr
.balign 4
_02015F18: .word 0x021C48B8
_02015F18: .word gUnknown21C48B8
thumb_func_start FUN_02015F1C
FUN_02015F1C: ; 0x02015F1C
push {r3, lr}
mov r0, #0x0
bl FUN_02015F80
ldr r0, _02015F30 ; =0x021C48B8
ldr r0, _02015F30 ; =gUnknown21C48B8
mov r1, #0x0
str r1, [r0, #0x8]
str r1, [r0, #0xc]
pop {r3, pc}
nop
_02015F30: .word 0x021C48B8
_02015F30: .word gUnknown21C48B8
thumb_func_start FUN_02015F34
FUN_02015F34: ; 0x02015F34
@@ -86,14 +94,14 @@ FUN_02015F34: ; 0x02015F34
bne _02015F4C
mov r0, #0x0
bl FUN_02015F80
ldr r0, _02015F68 ; =0x021C48B8
ldr r0, _02015F68 ; =gUnknown21C48B8
mov r1, #0x0
str r1, [r0, #0x8]
str r1, [r0, #0xc]
mov r0, #0x1
pop {r3, pc}
_02015F4C:
ldr r2, _02015F68 ; =0x021C48B8
ldr r2, _02015F68 ; =gUnknown21C48B8
ldr r3, [r2, #0x8]
cmp r3, #0x0
bne _02015F62
@@ -107,12 +115,12 @@ _02015F62:
mov r0, #0x0
pop {r3, pc}
nop
_02015F68: .word 0x021C48B8
_02015F68: .word gUnknown21C48B8
thumb_func_start FUN_02015F6C
FUN_02015F6C: ; 0x02015F6C
push {r3, lr}
ldr r0, _02015F7C ; =0x021C48B8
ldr r0, _02015F7C ; =gUnknown21C48B8
ldr r1, [r0, #0x8]
cmp r1, #0x0
beq _02015F7A
@@ -121,7 +129,7 @@ FUN_02015F6C: ; 0x02015F6C
_02015F7A:
pop {r3, pc}
.balign 4
_02015F7C: .word 0x021C48B8
_02015F7C: .word gUnknown21C48B8
thumb_func_start FUN_02015F80
FUN_02015F80: ; 0x02015F80
@@ -189,14 +197,14 @@ _02015FFA:
tst r1, r0
bne _02015FFA
_02016002:
ldr r0, _02016010 ; =0x020EDB10
ldr r0, _02016010 ; =UNK_020EDB10
mov r1, #0x4
mov r2, #0x5c
bl FUN_020166C8
add sp, #0x30
pop {r3, pc}
.balign 4
_02016010: .word 0x020EDB10
_02016010: .word UNK_020EDB10
thumb_func_start InitSystemForTheGame
InitSystemForTheGame: ; 0x02016014
@@ -222,7 +230,7 @@ InitSystemForTheGame: ; 0x02016014
add r1, r0, #0x0
mov r0, #0xa0
bl FUN_0201B580
ldr r1, _02016130 ; =0x021C48B8
ldr r1, _02016130 ; =gUnknown21C48B8
str r0, [r1, #0x18]
mov r0, #0x10
bl FUN_0201B578
@@ -233,7 +241,7 @@ InitSystemForTheGame: ; 0x02016014
add r1, r0, #0x0
mov r0, #0x10
bl FUN_0201B580
ldr r1, _02016130 ; =0x021C48B8
ldr r1, _02016130 ; =gUnknown21C48B8
str r0, [r1, #0x1c]
mov r0, #0x20
bl FUN_0201B578
@@ -244,7 +252,7 @@ InitSystemForTheGame: ; 0x02016014
add r1, r0, #0x0
mov r0, #0x20
bl FUN_0201B580
ldr r1, _02016130 ; =0x021C48B8
ldr r1, _02016130 ; =gUnknown21C48B8
str r0, [r1, #0x20]
mov r0, #0x4
bl FUN_0201B578
@@ -255,7 +263,7 @@ InitSystemForTheGame: ; 0x02016014
add r1, r0, #0x0
mov r0, #0x4
bl FUN_0201B580
ldr r1, _02016130 ; =0x021C48B8
ldr r1, _02016130 ; =gUnknown21C48B8
str r0, [r1, #0x24]
bl GX_DispOff
ldr r2, _02016134 ; =0x04001000
@@ -299,26 +307,26 @@ _02016108:
add r0, r5, #0x0
add r1, r4, #0x0
bl FS_TryLoadTable
ldr r0, _02016130 ; =0x021C48B8
ldr r0, _02016130 ; =gUnknown21C48B8
mov r1, #0x0
str r1, [r0, #0x0]
str r1, [r0, #0x8]
str r1, [r0, #0x10]
str r1, [r0, #0x14]
str r1, [r0, #0x2c]
ldr r0, _02016144 ; =0x021C4918
ldr r0, _02016144 ; =gUnk021C4918
strb r1, [r0, #0x5]
pop {r3-r5, pc}
.balign 4
_02016124: .word 0x04000304
_02016128: .word 0xFFFFFDF1
_0201612C: .word 0x0000020E
_02016130: .word 0x021C48B8
_02016130: .word gUnknown21C48B8
_02016134: .word 0x04001000
_02016138: .word 0xFFFEFFFF
_0201613C: .word FUN_02015EA0
_02016140: .word 0x04000208
_02016144: .word 0x021C4918
_02016144: .word gUnk021C4918
thumb_func_start InitGraphicMemory
InitGraphicMemory: ; 0x02016148
@@ -497,7 +505,7 @@ _0201629A:
thumb_func_start FUN_020162A0
FUN_020162A0: ; 0x020162A0
ldr r3, _020162C4 ; =0x021C4928
ldr r3, _020162C4 ; =UNK_021C4928
mov r2, #0x0
_020162A4:
ldr r1, [r3, #0x4]
@@ -517,21 +525,21 @@ _020162B4:
mvn r0, r0
bx lr
nop
_020162C4: .word 0x021C4928
_020162C4: .word UNK_021C4928
thumb_func_start FUN_020162C8
FUN_020162C8: ; 0x020162C8
push {r3-r4}
ldr r3, _020162F4 ; =0x021C4928
ldr r3, _020162F4 ; =UNK_021C4928
mov r4, #0x0
_020162CE:
ldr r2, [r3, #0x0]
cmp r2, #0x0
bne _020162E4
ldr r2, _020162F4 ; =0x021C4928
ldr r2, _020162F4 ; =UNK_021C4928
lsl r3, r4, #0x3
str r0, [r2, r3]
ldr r0, _020162F8 ; =0x021C492C
ldr r0, _020162F8 ; =UNK_021C492C
str r1, [r0, r3]
add r0, r4, #0x0
pop {r3-r4}
@@ -546,14 +554,14 @@ _020162E4:
pop {r3-r4}
bx lr
.balign 4
_020162F4: .word 0x021C4928
_020162F8: .word 0x021C492C
_020162F4: .word UNK_021C4928
_020162F8: .word UNK_021C492C
thumb_func_start FUN_020162FC
FUN_020162FC: ; 0x020162FC
push {r3-r7, lr}
mov r6, #0x0
ldr r5, _02016320 ; =0x021C4D20
ldr r5, _02016320 ; =UNK_021C4D20
mov r4, #0x7f
sub r7, r6, #0x1
_02016306:
@@ -570,7 +578,7 @@ _02016314:
bgt _02016306
pop {r3-r7, pc}
nop
_02016320: .word 0x021C4D20
_02016320: .word UNK_021C4D20
thumb_func_start FUN_02016324
FUN_02016324: ; 0x02016324
@@ -600,7 +608,7 @@ _02016346:
cmp r5, #0x0
bne _02016362
lsl r1, r0, #0x3
ldr r0, _020163B8 ; =0x021C4928
ldr r0, _020163B8 ; =UNK_021C4928
ldr r4, [r0, r1]
b _020163B2
_02016362:
@@ -644,13 +652,13 @@ _020163B2:
add sp, #0x68
pop {r3-r7, pc}
.balign 4
_020163B8: .word 0x021C4928
_020163B8: .word UNK_021C4928
thumb_func_start FUN_020163BC
FUN_020163BC: ; 0x020163BC
push {r3, lr}
sub sp, #0x8
ldr r0, _0201641C ; =0x021C48B8
ldr r0, _0201641C ; =gUnknown21C48B8
mov r2, #0x0
str r2, [r0, #0x34]
str r2, [r0, #0x38]
@@ -664,12 +672,12 @@ FUN_020163BC: ; 0x020163BC
str r1, [r0, #0x54]
mov r1, #0xf
str r1, [r0, #0x58]
ldr r0, _02016420 ; =0x021C48F8
ldr r0, _02016420 ; =UNK_021C48F8
strh r2, [r0, #0x1c]
strh r2, [r0, #0x1e]
strh r2, [r0, #0x20]
strh r2, [r0, #0x22]
ldr r0, _02016424 ; =0x021C4918
ldr r0, _02016424 ; =gUnk021C4918
strb r2, [r0, #0x4]
bl TP_Init
add r0, sp, #0x0
@@ -694,9 +702,9 @@ _02016402:
add sp, #0x8
pop {r3, pc}
.balign 4
_0201641C: .word 0x021C48B8
_02016420: .word 0x021C48F8
_02016424: .word 0x021C4918
_0201641C: .word gUnknown21C48B8
_02016420: .word UNK_021C48F8
_02016424: .word gUnk021C4918
_02016428: .word 0x000002AE
_0201642C: .word 0x0000058C
_02016430: .word 0x00000E25
@@ -704,32 +712,32 @@ _02016434: .word 0x00001208
thumb_func_start FUN_02016438
FUN_02016438: ; 0x02016438
ldr r1, _02016440 ; =0x021C4918
ldr r1, _02016440 ; =gUnk021C4918
strb r0, [r1, #0x6]
bx lr
nop
_02016440: .word 0x021C4918
_02016440: .word gUnk021C4918
thumb_func_start FUN_02016444
FUN_02016444: ; 0x02016444
ldr r1, _02016450 ; =0x021C4918
ldr r1, _02016450 ; =gUnk021C4918
ldrb r2, [r1, #0x7]
orr r0, r2
strb r0, [r1, #0x7]
bx lr
nop
_02016450: .word 0x021C4918
_02016450: .word gUnk021C4918
thumb_func_start FUN_02016454
FUN_02016454: ; 0x02016454
ldr r1, _02016460 ; =0x021C4918
ldr r1, _02016460 ; =gUnk021C4918
mvn r0, r0
ldrb r2, [r1, #0x7]
and r0, r2
strb r0, [r1, #0x7]
bx lr
.balign 4
_02016460: .word 0x021C4918
_02016460: .word gUnk021C4918
thumb_func_start FUN_02016464
FUN_02016464: ; 0x02016464
@@ -742,12 +750,12 @@ FUN_02016464: ; 0x02016464
and r0, r1
asr r0, r0, #0xf
beq _0201648A
ldr r0, _02016554 ; =0x021C48B8
ldr r0, _02016554 ; =gUnknown21C48B8
mov r1, #0x0
str r1, [r0, #0x48]
str r1, [r0, #0x44]
str r1, [r0, #0x4c]
ldr r0, _02016558 ; =0x021C48F8
ldr r0, _02016558 ; =UNK_021C48F8
add sp, #0x10
strh r1, [r0, #0x20]
strh r1, [r0, #0x22]
@@ -760,7 +768,7 @@ _0201648A:
ldr r0, _02016560 ; =0x00002FFF
eor r1, r0
and r0, r1
ldr r1, _02016554 ; =0x021C48B8
ldr r1, _02016554 ; =gUnknown21C48B8
lsl r0, r0, #0x10
lsr r0, r0, #0x10
ldr r2, [r1, #0x38]
@@ -782,11 +790,11 @@ _0201648A:
str r2, [r1, #0x50]
b _020164C8
_020164C2:
ldr r1, _02016554 ; =0x021C48B8
ldr r1, _02016554 ; =gUnknown21C48B8
ldr r2, [r1, #0x58]
str r2, [r1, #0x50]
_020164C8:
ldr r1, _02016554 ; =0x021C48B8
ldr r1, _02016554 ; =gUnknown21C48B8
str r0, [r1, #0x38]
ldr r2, [r1, #0x3c]
str r2, [r1, #0x48]
@@ -794,7 +802,7 @@ _020164C8:
ldr r0, [r1, #0x40]
str r0, [r1, #0x4c]
bl FUN_02016568
ldr r0, _02016564 ; =0x021C4918
ldr r0, _02016564 ; =gUnk021C4918
ldrb r0, [r0, #0x4]
cmp r0, #0x0
bne _020164F4
@@ -818,13 +826,13 @@ _020164FA:
cmp r3, #0x0
bne _02016516
ldrh r2, [r1, #0x0]
ldr r0, _02016558 ; =0x021C48F8
ldr r0, _02016558 ; =UNK_021C48F8
strh r2, [r0, #0x1c]
ldrh r1, [r1, #0x2]
strh r1, [r0, #0x1e]
b _0201653A
_02016516:
ldr r0, _02016558 ; =0x021C48F8
ldr r0, _02016558 ; =UNK_021C48F8
ldrh r2, [r0, #0x22]
cmp r2, #0x0
beq _02016536
@@ -848,7 +856,7 @@ _02016536:
_0201653A:
add r0, sp, #0x0
ldrh r2, [r0, #0x4]
ldr r0, _02016558 ; =0x021C48F8
ldr r0, _02016558 ; =UNK_021C48F8
ldrh r1, [r0, #0x22]
eor r1, r2
and r1, r2
@@ -858,15 +866,15 @@ _0201653A:
pop {r4, pc}
nop
_02016550: .word 0x027FFFA8
_02016554: .word 0x021C48B8
_02016558: .word 0x021C48F8
_02016554: .word gUnknown21C48B8
_02016558: .word UNK_021C48F8
_0201655C: .word 0x04000130
_02016560: .word 0x00002FFF
_02016564: .word 0x021C4918
_02016564: .word gUnk021C4918
thumb_func_start FUN_02016568
FUN_02016568: ; 0x02016568
ldr r0, _02016690 ; =0x021C48B8
ldr r0, _02016690 ; =gUnknown21C48B8
ldr r1, [r0, #0x34]
cmp r1, #0x3
bls _02016572
@@ -893,7 +901,7 @@ _02016586:
orr r1, r2
str r1, [r0, #0x48]
_02016596:
ldr r1, _02016690 ; =0x021C48B8
ldr r1, _02016690 ; =gUnknown21C48B8
mov r0, #0x8
ldr r2, [r1, #0x44]
add r3, r2, #0x0
@@ -903,7 +911,7 @@ _02016596:
orr r0, r2
str r0, [r1, #0x44]
_020165A8:
ldr r1, _02016690 ; =0x021C48B8
ldr r1, _02016690 ; =gUnknown21C48B8
mov r0, #0x8
ldr r2, [r1, #0x4c]
add r3, r2, #0x0
@@ -932,7 +940,7 @@ _020165CE:
lsr r0, r0, #0x1
orr r1, r0
_020165DC:
ldr r2, _02016690 ; =0x021C48B8
ldr r2, _02016690 ; =gUnknown21C48B8
ldr r0, _02016694 ; =0x0000F3FF
ldr r3, [r2, #0x48]
and r0, r3
@@ -956,7 +964,7 @@ _020165FA:
lsr r1, r1, #0x1
orr r0, r1
_02016608:
ldr r2, _02016690 ; =0x021C48B8
ldr r2, _02016690 ; =gUnknown21C48B8
ldr r1, _02016694 ; =0x0000F3FF
ldr r3, [r2, #0x44]
and r1, r3
@@ -980,7 +988,7 @@ _02016626:
lsr r1, r1, #0x1
orr r0, r1
_02016634:
ldr r2, _02016690 ; =0x021C48B8
ldr r2, _02016690 ; =gUnknown21C48B8
ldr r1, _02016694 ; =0x0000F3FF
ldr r3, [r2, #0x4c]
and r1, r3
@@ -997,7 +1005,7 @@ _02016642:
orr r1, r2
str r1, [r0, #0x48]
_02016652:
ldr r1, _02016690 ; =0x021C48B8
ldr r1, _02016690 ; =gUnknown21C48B8
mov r0, #0x2
ldr r2, [r1, #0x44]
lsl r0, r0, #0x8
@@ -1007,7 +1015,7 @@ _02016652:
orr r0, r2
str r0, [r1, #0x44]
_02016664:
ldr r1, _02016690 ; =0x021C48B8
ldr r1, _02016690 ; =gUnknown21C48B8
mov r0, #0x2
ldr r2, [r1, #0x4c]
lsl r0, r0, #0x8
@@ -1017,7 +1025,7 @@ _02016664:
orr r0, r2
str r0, [r1, #0x4c]
_02016676:
ldr r1, _02016690 ; =0x021C48B8
ldr r1, _02016690 ; =gUnknown21C48B8
ldr r0, _02016698 ; =0x0000FCFF
ldr r2, [r1, #0x48]
and r2, r0
@@ -1031,36 +1039,36 @@ _02016676:
_0201668C:
bx lr
nop
_02016690: .word 0x021C48B8
_02016690: .word gUnknown21C48B8
_02016694: .word 0x0000F3FF
_02016698: .word 0x0000FCFF
thumb_func_start FUN_0201669C
FUN_0201669C: ; 0x0201669C
ldr r2, _020166A4 ; =0x021C48B8
ldr r2, _020166A4 ; =gUnknown21C48B8
str r0, [r2, #0x54]
str r1, [r2, #0x58]
bx lr
.balign 4
_020166A4: .word 0x021C48B8
_020166A4: .word gUnknown21C48B8
thumb_func_start FUN_020166A8
FUN_020166A8: ; 0x020166A8
ldr r1, _020166B4 ; =0x021C4918
ldr r1, _020166B4 ; =gUnk021C4918
ldrb r2, [r1, #0x8]
orr r0, r2
strb r0, [r1, #0x8]
bx lr
nop
_020166B4: .word 0x021C4918
_020166B4: .word gUnk021C4918
thumb_func_start FUN_020166B8
FUN_020166B8: ; 0x020166B8
ldr r1, _020166C4 ; =0x021C4918
ldr r1, _020166C4 ; =gUnk021C4918
mvn r0, r0
ldrb r2, [r1, #0x8]
and r0, r2
strb r0, [r1, #0x8]
bx lr
.balign 4
_020166C4: .word 0x021C4918
_020166C4: .word gUnk021C4918

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C4D28
.text
thumb_func_start FUN_020166C8
@@ -46,21 +48,21 @@ _020166FE:
add r1, r6, r1
mov r2, #0x4
bl OS_AllocFromArenaLo
ldr r1, _020167F0 ; =0x021C4D28
ldr r1, _020167F0 ; =UNK_021C4D28
str r0, [r1, #0x0]
ldr r1, [sp, #0x4]
add r1, r1, #0x1
lsl r1, r1, #0x2
add r1, r0, r1
ldr r0, _020167F0 ; =0x021C4D28
ldr r0, _020167F0 ; =UNK_021C4D28
str r1, [r0, #0x4]
ldr r0, [sp, #0x4]
lsl r0, r0, #0x2
add r2, r1, r0
ldr r1, _020167F0 ; =0x021C4D28
ldr r1, _020167F0 ; =UNK_021C4D28
str r2, [r1, #0x8]
add r1, r2, r0
ldr r0, _020167F0 ; =0x021C4D28
ldr r0, _020167F0 ; =UNK_021C4D28
str r1, [r0, #0xc]
add r1, r1, r7
str r1, [r0, #0x10]
@@ -70,7 +72,7 @@ _020166FE:
mov r7, #0x0
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r0, _020167F0 ; =0x021C4D28
ldr r0, _020167F0 ; =UNK_021C4D28
cmp r4, #0x0
strh r1, [r0, #0x1a]
strh r1, [r0, #0x18]
@@ -99,11 +101,11 @@ _02016772:
ldr r1, [r5, #0x0]
mov r2, #0x0
bl tempName_NNS_FndCreateExpHeapEx
ldr r1, _020167F0 ; =0x021C4D28
ldr r1, _020167F0 ; =UNK_021C4D28
ldr r2, [r1, #0x0]
ldr r1, [sp, #0x0]
str r0, [r2, r1]
ldr r0, _020167F0 ; =0x021C4D28
ldr r0, _020167F0 ; =UNK_021C4D28
ldr r0, [r0, #0x10]
strb r7, [r0, r7]
b _02016792
@@ -122,7 +124,7 @@ _020167A0:
add r1, r0, #0x1
cmp r4, r1
bhs _020167C0
ldr r3, _020167F0 ; =0x021C4D28
ldr r3, _020167F0 ; =UNK_021C4D28
lsl r2, r4, #0x2
mov r0, #0x0
_020167AE:
@@ -138,7 +140,7 @@ _020167AE:
_020167C0:
cmp r4, r6
bhs _020167D2
ldr r0, _020167F0 ; =0x021C4D28
ldr r0, _020167F0 ; =UNK_021C4D28
_020167C6:
ldrh r2, [r0, #0x1a]
ldr r1, [r0, #0x10]
@@ -150,7 +152,7 @@ _020167D2:
mov r4, #0x0
cmp r6, #0x0
bls _020167EA
ldr r0, _020167F0 ; =0x021C4D28
ldr r0, _020167F0 ; =UNK_021C4D28
add r3, r4, #0x0
add r2, r4, #0x0
_020167DE:
@@ -164,11 +166,11 @@ _020167EA:
add sp, #0x8
pop {r3-r7, pc}
nop
_020167F0: .word 0x021C4D28
_020167F0: .word UNK_021C4D28
thumb_func_start FUN_020167F4
FUN_020167F4: ; 0x020167F4
ldr r1, _02016818 ; =0x021C4D28
ldr r1, _02016818 ; =UNK_021C4D28
ldrh r0, [r1, #0x16]
ldrh r3, [r1, #0x18]
cmp r0, r3
@@ -190,7 +192,7 @@ _02016812:
_02016816:
bx lr
.balign 4
_02016818: .word 0x021C4D28
_02016818: .word UNK_021C4D28
thumb_func_start FUN_0201681C
FUN_0201681C: ; 0x0201681C
@@ -221,7 +223,7 @@ FUN_02016834: ; 0x02016834
bne _0201684C
bl ErrorHandling
_0201684C:
ldr r1, _020168CC ; =0x021C4D28
ldr r1, _020168CC ; =UNK_021C4D28
ldr r0, [r1, #0x10]
ldrh r3, [r1, #0x1a]
ldrb r2, [r0, r5]
@@ -248,7 +250,7 @@ _0201684C:
mov r2, #0x0
lsl r4, r7, #0x2
bl tempName_NNS_FndCreateExpHeapEx
ldr r1, _020168CC ; =0x021C4D28
ldr r1, _020168CC ; =UNK_021C4D28
ldr r2, [r1, #0x0]
str r0, [r2, r4]
ldr r0, [r1, #0x0]
@@ -284,7 +286,7 @@ _020168C6:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_020168CC: .word 0x021C4D28
_020168CC: .word UNK_021C4D28
thumb_func_start FUN_020168D0
FUN_020168D0: ; 0x020168D0
@@ -295,7 +297,7 @@ FUN_020168D0: ; 0x020168D0
bne _020168E0
bl ErrorHandling
_020168E0:
ldr r0, _02016940 ; =0x021C4D28
ldr r0, _02016940 ; =UNK_021C4D28
ldr r1, [r0, #0x0]
ldr r0, [r0, #0x10]
ldrb r0, [r0, r4]
@@ -304,7 +306,7 @@ _020168E0:
cmp r0, #0x0
beq _0201693E
bl thunk_FUN_020adc8c
ldr r1, _02016940 ; =0x021C4D28
ldr r1, _02016940 ; =UNK_021C4D28
ldr r0, [r1, #0x10]
ldrb r0, [r0, r4]
lsl r2, r0, #0x2
@@ -321,7 +323,7 @@ _020168E0:
_02016912:
bl ErrorHandling
_02016916:
ldr r1, _02016940 ; =0x021C4D28
ldr r1, _02016940 ; =UNK_021C4D28
mov r0, #0x0
ldr r2, [r1, #0x10]
ldr r3, [r1, #0x0]
@@ -344,7 +346,7 @@ _02016916:
_0201693E:
pop {r4, pc}
.balign 4
_02016940: .word 0x021C4D28
_02016940: .word UNK_021C4D28
thumb_func_start FUN_02016944
FUN_02016944: ; 0x02016944
@@ -395,7 +397,7 @@ _02016996:
FUN_02016998: ; 0x02016998
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _020169D4 ; =0x021C4D28
ldr r0, _020169D4 ; =UNK_021C4D28
mov r4, #0x0
ldrh r2, [r0, #0x14]
cmp r5, r2
@@ -412,7 +414,7 @@ FUN_02016998: ; 0x02016998
_020169BA:
cmp r4, #0x0
beq _020169CC
ldr r0, _020169D4 ; =0x021C4D28
ldr r0, _020169D4 ; =UNK_021C4D28
lsl r1, r5, #0x1
ldr r2, [r0, #0xc]
ldrh r0, [r2, r1]
@@ -425,12 +427,12 @@ _020169D0:
add r0, r4, #0x0
pop {r3-r5, pc}
.balign 4
_020169D4: .word 0x021C4D28
_020169D4: .word UNK_021C4D28
thumb_func_start FUN_020169D8
FUN_020169D8: ; 0x020169D8
push {r3-r5, lr}
ldr r2, _02016A14 ; =0x021C4D28
ldr r2, _02016A14 ; =UNK_021C4D28
add r5, r0, #0x0
ldrh r0, [r2, #0x14]
mov r4, #0x0
@@ -448,7 +450,7 @@ FUN_020169D8: ; 0x020169D8
_020169FA:
cmp r4, #0x0
beq _02016A0C
ldr r0, _02016A14 ; =0x021C4D28
ldr r0, _02016A14 ; =UNK_021C4D28
lsl r1, r5, #0x1
ldr r2, [r0, #0xc]
ldrh r0, [r2, r1]
@@ -461,7 +463,7 @@ _02016A10:
add r0, r4, #0x0
pop {r3-r5, pc}
.balign 4
_02016A14: .word 0x021C4D28
_02016A14: .word UNK_021C4D28
thumb_func_start FUN_02016A18
FUN_02016A18: ; 0x02016A18
@@ -471,7 +473,7 @@ FUN_02016A18: ; 0x02016A18
ldr r0, [r0, #0x0]
lsl r0, r0, #0x18
lsr r4, r0, #0x18
ldr r0, _02016A88 ; =0x021C4D28
ldr r0, _02016A88 ; =UNK_021C4D28
ldrh r1, [r0, #0x14]
cmp r4, r1
bhs _02016A80
@@ -484,7 +486,7 @@ FUN_02016A18: ; 0x02016A18
bne _02016A3E
bl ErrorHandling
_02016A3E:
ldr r0, _02016A88 ; =0x021C4D28
ldr r0, _02016A88 ; =UNK_021C4D28
lsl r5, r4, #0x1
ldr r0, [r0, #0xc]
ldrh r0, [r0, r5]
@@ -493,14 +495,14 @@ _02016A3E:
add r0, r4, #0x0
bl FUN_02016B90
_02016A50:
ldr r0, _02016A88 ; =0x021C4D28
ldr r0, _02016A88 ; =UNK_021C4D28
ldr r0, [r0, #0xc]
ldrh r0, [r0, r5]
cmp r0, #0x0
bne _02016A5E
bl ErrorHandling
_02016A5E:
ldr r0, _02016A88 ; =0x021C4D28
ldr r0, _02016A88 ; =UNK_021C4D28
ldr r1, [r0, #0xc]
ldrh r0, [r1, r5]
sub r0, r0, #0x1
@@ -518,7 +520,7 @@ _02016A80:
bl ErrorHandling
pop {r3-r7, pc}
nop
_02016A88: .word 0x021C4D28
_02016A88: .word UNK_021C4D28
thumb_func_start FUN_02016A8C
FUN_02016A8C: ; 0x02016A8C
@@ -530,7 +532,7 @@ FUN_02016A8C: ; 0x02016A8C
bne _02016A9E
bl ErrorHandling
_02016A9E:
ldr r0, _02016AF4 ; =0x021C4D28
ldr r0, _02016AF4 ; =UNK_021C4D28
ldrh r1, [r0, #0x14]
cmp r5, r1
bhs _02016AEE
@@ -555,7 +557,7 @@ _02016AC8:
add r0, r6, #0x0
add r1, r4, #0x0
bl FUN_020ADDF0
ldr r0, _02016AF4 ; =0x021C4D28
ldr r0, _02016AF4 ; =UNK_021C4D28
lsl r4, r5, #0x1
ldr r0, [r0, #0xc]
ldrh r0, [r0, r4]
@@ -563,7 +565,7 @@ _02016AC8:
bne _02016AE2
bl ErrorHandling
_02016AE2:
ldr r0, _02016AF4 ; =0x021C4D28
ldr r0, _02016AF4 ; =UNK_021C4D28
ldr r1, [r0, #0xc]
ldrh r0, [r1, r4]
sub r0, r0, #0x1
@@ -573,12 +575,12 @@ _02016AEE:
bl ErrorHandling
pop {r4-r6, pc}
.balign 4
_02016AF4: .word 0x021C4D28
_02016AF4: .word UNK_021C4D28
thumb_func_start FUN_02016AF8
FUN_02016AF8: ; 0x02016AF8
push {r3, lr}
ldr r1, _02016B1C ; =0x021C4D28
ldr r1, _02016B1C ; =UNK_021C4D28
ldrh r2, [r1, #0x14]
cmp r0, r2
bhs _02016B12
@@ -594,12 +596,12 @@ _02016B12:
mov r0, #0x0
pop {r3, pc}
nop
_02016B1C: .word 0x021C4D28
_02016B1C: .word UNK_021C4D28
thumb_func_start FUN_02016B20
FUN_02016B20: ; 0x02016B20
push {r4, lr}
ldr r4, _02016B40 ; =0x021C4D28
ldr r4, _02016B40 ; =UNK_021C4D28
ldrh r3, [r4, #0x14]
cmp r1, r3
bhs _02016B3A
@@ -614,7 +616,7 @@ _02016B3A:
bl ErrorHandling
pop {r4, pc}
.balign 4
_02016B40: .word 0x021C4D28
_02016B40: .word UNK_021C4D28
thumb_func_start FUN_02016B44
FUN_02016B44: ; 0x02016B44
@@ -633,7 +635,7 @@ _02016B56:
cmp r0, r4
blo _02016B84
sub r2, r5, #0x4
ldr r0, _02016B8C ; =0x021C4D28
ldr r0, _02016B8C ; =UNK_021C4D28
ldr r2, [r2, #0x0]
ldr r1, [r0, #0x0]
lsl r2, r2, #0x18
@@ -651,7 +653,7 @@ _02016B84:
bl ErrorHandling
pop {r3-r5, pc}
nop
_02016B8C: .word 0x021C4D28
_02016B8C: .word UNK_021C4D28
thumb_func_start FUN_02016B90
FUN_02016B90: ; 0x02016B90

View File

@@ -1,6 +1,14 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EDB30
.extern UNK_020EDB68
.extern UNK_020EDB44
.extern UNK_020EDB5C
.extern UNK_020EDB38
.extern UNK_020EDB74
.extern UNK_020EDB50
.text
thumb_func_start FUN_02016B94
@@ -5276,12 +5284,12 @@ _02019202:
ldrb r1, [r1, #0x1c]
add r0, r4, #0x0
lsl r2, r1, #0x2
ldr r1, _0201921C ; =0x020EDB68
ldr r1, _0201921C ; =UNK_020EDB68
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_0201921C: .word 0x020EDB68
_0201921C: .word UNK_020EDB68
thumb_func_start FUN_02019220
FUN_02019220: ; 0x02019220
@@ -5318,12 +5326,12 @@ _02019252:
ldrb r1, [r1, #0x1c]
add r0, r4, #0x0
lsl r2, r1, #0x2
ldr r1, _0201926C ; =0x020EDB5C
ldr r1, _0201926C ; =UNK_020EDB5C
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_0201926C: .word 0x020EDB5C
_0201926C: .word UNK_020EDB5C
thumb_func_start FUN_02019270
FUN_02019270: ; 0x02019270
@@ -5335,12 +5343,12 @@ FUN_02019270: ; 0x02019270
add r1, r3, r1
ldrb r1, [r1, #0x1c]
lsl r2, r1, #0x2
ldr r1, _02019288 ; =0x020EDB38
ldr r1, _02019288 ; =UNK_020EDB38
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
.balign 4
_02019288: .word 0x020EDB38
_02019288: .word UNK_020EDB38
thumb_func_start FUN_0201928C
FUN_0201928C: ; 0x0201928C
@@ -5357,14 +5365,14 @@ FUN_0201928C: ; 0x0201928C
add r1, r1, r2
ldrb r1, [r1, #0x1c]
lsl r2, r1, #0x2
ldr r1, _020192B4 ; =0x020EDB38
ldr r1, _020192B4 ; =UNK_020EDB38
ldr r1, [r1, r2]
blx r1
strb r6, [r5, #0x7]
strb r4, [r5, #0x8]
pop {r4-r6, pc}
nop
_020192B4: .word 0x020EDB38
_020192B4: .word UNK_020EDB38
thumb_func_start FUN_020192B8
FUN_020192B8: ; 0x020192B8
@@ -5376,12 +5384,12 @@ FUN_020192B8: ; 0x020192B8
add r1, r3, r1
ldrb r1, [r1, #0x1c]
lsl r2, r1, #0x2
ldr r1, _020192D0 ; =0x020EDB74
ldr r1, _020192D0 ; =UNK_020EDB74
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
.balign 4
_020192D0: .word 0x020EDB74
_020192D0: .word UNK_020EDB74
thumb_func_start FUN_020192D4
FUN_020192D4: ; 0x020192D4
@@ -5469,7 +5477,7 @@ FUN_02019358: ; 0x02019358
cmp r3, #0x0
beq _020193AC
ldrb r2, [r1, #0x1d]
ldr r1, _020193B0 ; =0x020EDB30
ldr r1, _020193B0 ; =UNK_020EDB30
ldrb r6, [r1, r2]
ldrb r1, [r0, #0x6]
add r2, r1, #0x0
@@ -5507,7 +5515,7 @@ _020193AC:
pop {r4-r7}
bx lr
.balign 4
_020193B0: .word 0x020EDB30
_020193B0: .word UNK_020EDB30
thumb_func_start FUN_020193B4
FUN_020193B4: ; 0x020193B4
@@ -5526,7 +5534,7 @@ FUN_020193B4: ; 0x020193B4
cmp r0, #0x0
beq _0201943C
ldrb r1, [r1, #0x1d]
ldr r0, _02019440 ; =0x020EDB30
ldr r0, _02019440 ; =UNK_020EDB30
ldrb r0, [r0, r1]
str r0, [sp, #0x8]
ldr r0, [sp, #0x0]
@@ -5586,7 +5594,7 @@ _0201943C:
add sp, #0xc
pop {r4-r7, pc}
.balign 4
_02019440: .word 0x020EDB30
_02019440: .word UNK_020EDB30
thumb_func_start FUN_02019444
FUN_02019444: ; 0x02019444
@@ -5601,7 +5609,7 @@ FUN_02019444: ; 0x02019444
cmp r3, #0x0
beq _02019492
ldrb r2, [r1, #0x1d]
ldr r1, _02019498 ; =0x020EDB30
ldr r1, _02019498 ; =UNK_020EDB30
mov r4, #0x0
ldrb r6, [r1, r2]
ldrb r1, [r0, #0x6]
@@ -5636,7 +5644,7 @@ _02019492:
pop {r4-r7}
bx lr
nop
_02019498: .word 0x020EDB30
_02019498: .word UNK_020EDB30
thumb_func_start FUN_0201949C
FUN_0201949C: ; 0x0201949C
@@ -5756,12 +5764,12 @@ FUN_02019570: ; 0x02019570
add r1, r3, r1
ldrb r1, [r1, #0x1c]
lsl r2, r1, #0x2
ldr r1, _02019588 ; =0x020EDB50
ldr r1, _02019588 ; =UNK_020EDB50
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
.balign 4
_02019588: .word 0x020EDB50
_02019588: .word UNK_020EDB50
thumb_func_start FUN_0201958C
FUN_0201958C: ; 0x0201958C
@@ -5773,12 +5781,12 @@ FUN_0201958C: ; 0x0201958C
add r1, r3, r1
ldrb r1, [r1, #0x1c]
lsl r2, r1, #0x2
ldr r1, _020195A4 ; =0x020EDB44
ldr r1, _020195A4 ; =UNK_020EDB44
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
.balign 4
_020195A4: .word 0x020EDB44
_020195A4: .word UNK_020EDB44
thumb_func_start FUN_020195A8
FUN_020195A8: ; 0x020195A8

View File

@@ -1,6 +1,14 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C4D44
.extern UNK_021CED98
.extern UNK_021CEDD4
.extern UNK_021064C0
.extern UNK_021064B8
.extern UNK_021064C4
.extern UNK_021064BC
.text
thumb_func_start FUN_0201B1A8
@@ -113,10 +121,10 @@ FUN_0201B26C: ; 0x0201B26C
add r4, r2, #0x0
add r6, r3, #0x0
bl FUN_020B8474
ldr r1, _0201B2A0 ; =0x021CEDD4
ldr r1, _0201B2A0 ; =UNK_021CEDD4
add r0, r4, #0x0
bl MI_Copy36B
ldr r1, _0201B2A4 ; =0x021CED98
ldr r1, _0201B2A4 ; =UNK_021CED98
mov r0, #0xa4
ldr r2, [r1, #0x7c]
bic r2, r0
@@ -128,8 +136,8 @@ FUN_0201B26C: ; 0x0201B26C
bl FUN_020BAC98
pop {r4-r6, pc}
nop
_0201B2A0: .word 0x021CEDD4
_0201B2A4: .word 0x021CED98
_0201B2A0: .word UNK_021CEDD4
_0201B2A4: .word UNK_021CED98
thumb_func_start FUN_0201B2A8
FUN_0201B2A8: ; 0x0201B2A8
@@ -139,10 +147,10 @@ FUN_0201B2A8: ; 0x0201B2A8
add r4, r2, #0x0
add r6, r3, #0x0
bl FUN_020B8474
ldr r1, _0201B2E4 ; =0x021CEDD4
ldr r1, _0201B2E4 ; =UNK_021CEDD4
add r0, r4, #0x0
bl MI_Copy36B
ldr r1, _0201B2E8 ; =0x021CED98
ldr r1, _0201B2E8 ; =UNK_021CED98
mov r0, #0xa4
ldr r2, [r1, #0x7c]
bic r2, r0
@@ -158,8 +166,8 @@ FUN_0201B2A8: ; 0x0201B2A8
bl FUN_020BB394
pop {r4-r6, pc}
.balign 4
_0201B2E4: .word 0x021CEDD4
_0201B2E8: .word 0x021CED98
_0201B2E4: .word UNK_021CEDD4
_0201B2E8: .word UNK_021CED98
thumb_func_start FUN_0201B2EC
FUN_0201B2EC: ; 0x0201B2EC
@@ -173,13 +181,13 @@ FUN_0201B2EC: ; 0x0201B2EC
mov r1, #0x0
add r3, r1, #0x0
bl FUN_02022318
ldr r1, _0201B310 ; =0x021C4D44
ldr r1, _0201B310 ; =UNK_021C4D44
str r0, [r1, #0x0]
add sp, #0x8
pop {r3, pc}
nop
_0201B30C: .word FUN_0201B314
_0201B310: .word 0x021C4D44
_0201B310: .word UNK_021C4D44
thumb_func_start FUN_0201B314
FUN_0201B314: ; 0x0201B314
@@ -244,12 +252,12 @@ _0201B394: .word 0x04000580
thumb_func_start FUN_0201B398
FUN_0201B398: ; 0x0201B398
ldr r0, _0201B3A0 ; =0x021C4D44
ldr r0, _0201B3A0 ; =UNK_021C4D44
ldr r3, _0201B3A4 ; =FUN_020223BC
ldr r0, [r0, #0x0]
bx r3
.balign 4
_0201B3A0: .word 0x021C4D44
_0201B3A0: .word UNK_021C4D44
_0201B3A4: .word FUN_020223BC
thumb_func_start FUN_0201B3A8
@@ -296,7 +304,7 @@ _0201B3D2:
str r0, [sp, #0xc]
cmp r6, #0x0
beq _0201B412
ldr r3, _0201B4D8 ; =0x021064B8
ldr r3, _0201B4D8 ; =UNK_021064B8
mov r1, #0x0
ldr r3, [r3, #0x0]
add r0, r6, #0x0
@@ -312,7 +320,7 @@ _0201B412:
_0201B414:
cmp r4, #0x0
beq _0201B42E
ldr r3, _0201B4D8 ; =0x021064B8
ldr r3, _0201B4D8 ; =UNK_021064B8
add r0, r4, #0x0
ldr r3, [r3, #0x0]
mov r1, #0x1
@@ -329,7 +337,7 @@ _0201B430:
ldr r0, [sp, #0xc]
cmp r0, #0x0
beq _0201B450
ldr r3, _0201B4DC ; =0x021064C0
ldr r3, _0201B4DC ; =UNK_021064C0
mov r1, #0x2
ldrh r2, [r5, #0x20]
lsl r1, r1, #0xe
@@ -348,7 +356,7 @@ _0201B452:
ldr r0, [sp, #0x8]
cmp r0, #0x0
bne _0201B46E
ldr r1, _0201B4E0 ; =0x021064BC
ldr r1, _0201B4E0 ; =UNK_021064BC
add r0, r7, #0x0
ldr r1, [r1, #0x0]
blx r1
@@ -363,7 +371,7 @@ _0201B46E:
ldr r0, [sp, #0x4]
cmp r0, #0x0
bne _0201B48A
ldr r1, _0201B4E0 ; =0x021064BC
ldr r1, _0201B4E0 ; =UNK_021064BC
add r0, r6, #0x0
ldr r1, [r1, #0x0]
blx r1
@@ -378,7 +386,7 @@ _0201B48A:
ldr r0, [sp, #0x0]
cmp r0, #0x0
bne _0201B4A6
ldr r1, _0201B4E4 ; =0x021064C4
ldr r1, _0201B4E4 ; =UNK_021064C4
add r0, r4, #0x0
ldr r1, [r1, #0x0]
blx r1
@@ -411,7 +419,7 @@ _0201B4D0:
add sp, #0x10
pop {r3-r7, pc}
nop
_0201B4D8: .word 0x021064B8
_0201B4DC: .word 0x021064C0
_0201B4E0: .word 0x021064BC
_0201B4E4: .word 0x021064C4
_0201B4D8: .word UNK_021064B8
_0201B4DC: .word UNK_021064C0
_0201B4E0: .word UNK_021064BC
_0201B4E4: .word UNK_021064C4

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021CEDD4
.extern UNK_021CED98
.text
thumb_func_start FUN_0201B6D0
@@ -36,10 +39,10 @@ FUN_0201B6D0: ; 0x0201B6D0
bl FUN_0201B808
add r0, sp, #0x1c
bl FUN_020B8474
ldr r1, _0201B764 ; =0x021CEDD4
ldr r1, _0201B764 ; =UNK_021CEDD4
add r0, r5, #0x0
bl MI_Copy36B
ldr r1, _0201B768 ; =0x021CED98
ldr r1, _0201B768 ; =UNK_021CED98
mov r0, #0xa4
ldr r2, [r1, #0x7c]
bic r2, r0
@@ -71,8 +74,8 @@ FUN_0201B6D0: ; 0x0201B6D0
add sp, #0x34
pop {r4-r7, pc}
.balign 4
_0201B764: .word 0x021CEDD4
_0201B768: .word 0x021CED98
_0201B764: .word UNK_021CEDD4
_0201B768: .word UNK_021CED98
thumb_func_start FUN_0201B76C
FUN_0201B76C: ; 0x0201B76C

View File

@@ -1,26 +1,31 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C5714
.extern UNK_021C5734
.extern UNK_021C570C
.extern UNK_02105BB4
.text
thumb_func_start FUN_0201BCBC
FUN_0201BCBC: ; 0x0201BCBC
ldr r1, _0201BCC4 ; =0x02105BB4
ldr r1, _0201BCC4 ; =UNK_02105BB4
str r0, [r1, #0x0]
bx lr
nop
_0201BCC4: .word 0x02105BB4
_0201BCC4: .word UNK_02105BB4
thumb_func_start FUN_0201BCC8
FUN_0201BCC8: ; 0x0201BCC8
push {r4-r6, lr}
ldr r4, _0201BCF8 ; =0x021C5714
ldr r4, _0201BCF8 ; =UNK_021C5714
mov r5, #0x0
_0201BCCE:
ldr r3, [r4, #0x0]
cmp r3, #0x0
bne _0201BCE8
ldr r6, _0201BCF8 ; =0x021C5714
ldr r6, _0201BCF8 ; =UNK_021C5714
lsl r4, r5, #0x2
bl FUN_0200CA7C
str r0, [r6, r4]
@@ -39,7 +44,7 @@ _0201BCF0:
lsr r0, r0, #0x18
pop {r4-r6, pc}
nop
_0201BCF8: .word 0x021C5714
_0201BCF8: .word UNK_021C5714
thumb_func_start FUN_0201BCFC
FUN_0201BCFC: ; 0x0201BCFC
@@ -49,7 +54,7 @@ FUN_0201BCFC: ; 0x0201BCFC
blo _0201BD08
bl ErrorHandling
_0201BD08:
ldr r6, _0201BD40 ; =0x021C5714
ldr r6, _0201BD40 ; =UNK_021C5714
lsl r4, r5, #0x2
ldr r0, [r6, r4]
cmp r0, #0x0
@@ -75,12 +80,12 @@ _0201BD32:
_0201BD3C:
pop {r4-r6, pc}
nop
_0201BD40: .word 0x021C5714
_0201BD40: .word UNK_021C5714
thumb_func_start FUN_0201BD44
FUN_0201BD44: ; 0x0201BD44
lsl r1, r0, #0x2
ldr r0, _0201BD58 ; =0x021C5714
ldr r0, _0201BD58 ; =UNK_021C5714
ldr r0, [r0, r1]
cmp r0, #0x0
beq _0201BD52
@@ -90,12 +95,12 @@ _0201BD52:
mov r0, #0x0
bx lr
nop
_0201BD58: .word 0x021C5714
_0201BD58: .word UNK_021C5714
thumb_func_start FUN_0201BD5C
FUN_0201BD5C: ; 0x0201BD5C
mov r1, #0x0
ldr r2, _0201BD6C ; =0x021C5714
ldr r2, _0201BD6C ; =UNK_021C5714
add r0, r1, #0x0
_0201BD62:
add r1, r1, #0x1
@@ -104,7 +109,7 @@ _0201BD62:
blt _0201BD62
bx lr
.balign 4
_0201BD6C: .word 0x021C5714
_0201BD6C: .word UNK_021C5714
thumb_func_start FUN_0201BD70
FUN_0201BD70: ; 0x0201BD70
@@ -138,7 +143,7 @@ FUN_0201BD84: ; 0x0201BD84
strb r0, [r2, #0xb]
strb r3, [r2, #0xc]
strb r0, [r2, #0xd]
ldr r0, _0201BDDC ; =0x02105BB4
ldr r0, _0201BDDC ; =UNK_02105BB4
lsl r1, r1, #0x3
ldr r0, [r0, #0x0]
add r1, r0, r1
@@ -166,7 +171,7 @@ FUN_0201BD84: ; 0x0201BD84
add sp, #0x18
pop {r3, pc}
nop
_0201BDDC: .word 0x02105BB4
_0201BDDC: .word UNK_02105BB4
thumb_func_start FUN_0201BDE0
FUN_0201BDE0: ; 0x0201BDE0
@@ -185,7 +190,7 @@ FUN_0201BDE0: ; 0x0201BDE0
strb r0, [r2, #0xb]
strb r3, [r2, #0xc]
strb r0, [r2, #0xd]
ldr r0, _0201BE38 ; =0x02105BB4
ldr r0, _0201BE38 ; =UNK_02105BB4
lsl r1, r1, #0x3
ldr r0, [r0, #0x0]
add r1, r0, r1
@@ -213,7 +218,7 @@ FUN_0201BDE0: ; 0x0201BDE0
add sp, #0x18
pop {r3, pc}
nop
_0201BE38: .word 0x02105BB4
_0201BE38: .word UNK_02105BB4
thumb_func_start FUN_0201BE3C
FUN_0201BE3C: ; 0x0201BE3C
@@ -236,7 +241,7 @@ FUN_0201BE3C: ; 0x0201BE3C
strb r0, [r2, #0xe]
ldr r0, [sp, #0x30]
strb r0, [r2, #0xf]
ldr r0, _0201BE94 ; =0x02105BB4
ldr r0, _0201BE94 ; =UNK_02105BB4
ldr r3, [r0, #0x0]
lsl r0, r1, #0x3
add r0, r3, r0
@@ -260,13 +265,13 @@ FUN_0201BE3C: ; 0x0201BE3C
add sp, #0x18
pop {r3, pc}
nop
_0201BE94: .word 0x02105BB4
_0201BE94: .word UNK_02105BB4
thumb_func_start FUN_0201BE98
FUN_0201BE98: ; 0x0201BE98
push {r3-r7, lr}
add r7, r0, #0x0
ldr r0, _0201BFD0 ; =0x02105BB4
ldr r0, _0201BFD0 ; =UNK_02105BB4
add r6, r1, #0x0
ldr r0, [r0, #0x0]
add r5, r2, #0x0
@@ -327,7 +332,7 @@ _0201BEF4:
ldr r0, [r4, #0x0]
bl FUN_02021F2C
str r0, [r4, #0x0]
ldr r0, _0201BFD4 ; =0x021C570C
ldr r0, _0201BFD4 ; =UNK_021C570C
str r5, [r4, #0x18]
mov r1, #0x0
strb r1, [r0, #0x0]
@@ -417,14 +422,14 @@ _0201BFBE:
mov r0, #0x8
pop {r3-r7, pc}
nop
_0201BFD0: .word 0x02105BB4
_0201BFD4: .word 0x021C570C
_0201BFD0: .word UNK_02105BB4
_0201BFD4: .word UNK_021C570C
_0201BFD8: .word FUN_0201BFDC
thumb_func_start FUN_0201BFDC
FUN_0201BFDC: ; 0x0201BFDC
push {r4, lr}
ldr r0, _0201C044 ; =0x021C570C
ldr r0, _0201C044 ; =UNK_021C570C
add r4, r1, #0x0
ldrb r0, [r0, #0x0]
cmp r0, #0x0
@@ -477,7 +482,7 @@ _0201C036:
_0201C042:
pop {r4, pc}
.balign 4
_0201C044: .word 0x021C570C
_0201C044: .word UNK_021C570C
thumb_func_start FUN_0201C048
FUN_0201C048: ; 0x0201C048
@@ -496,7 +501,7 @@ _0201C04C:
FUN_0201C05C: ; 0x0201C05C
push {r3-r7, lr}
sub sp, #0x30
ldr r3, _0201C0F8 ; =0x021C570C
ldr r3, _0201C0F8 ; =UNK_021C570C
mov r5, #0x0
str r5, [sp, #0x20]
str r0, [sp, #0x24]
@@ -544,7 +549,7 @@ _0201C0A4:
add r2, r0, #0x0
orr r2, r1
lsl r1, r5, #0x1
ldr r0, _0201C0FC ; =0x021C5734
ldr r0, _0201C0FC ; =UNK_021C5734
add r5, r5, #0x1
add r4, r4, #0x4
strh r2, [r0, r1]
@@ -577,15 +582,15 @@ _0201C0A4:
add sp, #0x30
pop {r3-r7, pc}
.balign 4
_0201C0F8: .word 0x021C570C
_0201C0FC: .word 0x021C5734
_0201C0F8: .word UNK_021C570C
_0201C0FC: .word UNK_021C5734
thumb_func_start FUN_0201C100
FUN_0201C100: ; 0x0201C100
ldrh r2, [r0, #0x0]
lsr r2, r2, #0x8
lsl r3, r2, #0x1
ldr r2, _0201C1A4 ; =0x021C5734
ldr r2, _0201C1A4 ; =UNK_021C5734
ldrh r3, [r2, r3]
strh r3, [r1, #0x0]
ldrh r3, [r0, #0x0]
@@ -665,7 +670,7 @@ FUN_0201C100: ; 0x0201C100
strh r0, [r1, #0x1e]
bx lr
.balign 4
_0201C1A4: .word 0x021C5734
_0201C1A4: .word UNK_021C5734
thumb_func_start FUN_0201C1A8
FUN_0201C1A8: ; 0x0201C1A8

View File

@@ -1,13 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C5934
.text
thumb_func_start FUN_0201C24C
FUN_0201C24C: ; 0x0201C24C
push {r3-r5, lr}
add r5, r0, #0x0
ldr r0, _0201C298 ; =0x021C5934
ldr r0, _0201C298 ; =UNK_021C5934
add r4, r1, #0x0
ldr r0, [r0, #0x0]
cmp r0, #0x0
@@ -17,7 +19,7 @@ _0201C25E:
add r0, r4, #0x0
mov r1, #0xc
bl FUN_02016998
ldr r1, _0201C298 ; =0x021C5934
ldr r1, _0201C298 ; =UNK_021C5934
cmp r0, #0x0
str r0, [r1, #0x0]
bne _0201C272
@@ -26,7 +28,7 @@ _0201C272:
add r0, r4, #0x0
lsl r1, r5, #0x4
bl FUN_02016998
ldr r1, _0201C298 ; =0x021C5934
ldr r1, _0201C298 ; =UNK_021C5934
ldr r2, [r1, #0x0]
str r0, [r2, #0x8]
ldr r0, [r1, #0x0]
@@ -40,36 +42,36 @@ _0201C272:
bl FUN_020AEF1C
pop {r3-r5, pc}
nop
_0201C298: .word 0x021C5934
_0201C298: .word UNK_021C5934
thumb_func_start FUN_0201C29C
FUN_0201C29C: ; 0x0201C29C
push {r3, lr}
ldr r0, _0201C2C4 ; =0x021C5934
ldr r0, _0201C2C4 ; =UNK_021C5934
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _0201C2AA
bl ErrorHandling
_0201C2AA:
ldr r0, _0201C2C4 ; =0x021C5934
ldr r0, _0201C2C4 ; =UNK_021C5934
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x8]
bl FUN_02016A18
ldr r0, _0201C2C4 ; =0x021C5934
ldr r0, _0201C2C4 ; =UNK_021C5934
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _0201C2C4 ; =0x021C5934
ldr r0, _0201C2C4 ; =UNK_021C5934
mov r1, #0x0
str r1, [r0, #0x0]
pop {r3, pc}
.balign 4
_0201C2C4: .word 0x021C5934
_0201C2C4: .word UNK_021C5934
thumb_func_start FUN_0201C2C8
FUN_0201C2C8: ; 0x0201C2C8
push {r3-r7, lr}
add r5, r0, #0x0
ldr r0, _0201C308 ; =0x021C5934
ldr r0, _0201C308 ; =UNK_021C5934
add r4, r1, #0x0
ldr r0, [r0, #0x0]
add r6, r2, #0x0
@@ -78,7 +80,7 @@ FUN_0201C2C8: ; 0x0201C2C8
bne _0201C2DE
bl ErrorHandling
_0201C2DE:
ldr r1, _0201C308 ; =0x021C5934
ldr r1, _0201C308 ; =UNK_021C5934
ldr r0, [r1, #0x0]
ldr r2, [r0, #0x4]
add r2, r2, #0x1
@@ -99,24 +101,24 @@ _0201C2FA:
bl FUN_020AEE40
pop {r3-r7, pc}
.balign 4
_0201C308: .word 0x021C5934
_0201C308: .word UNK_021C5934
thumb_func_start FUN_0201C30C
FUN_0201C30C: ; 0x0201C30C
push {r3, lr}
ldr r0, _0201C324 ; =0x021C5934
ldr r0, _0201C324 ; =UNK_021C5934
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _0201C322
bl FUN_020AEEB8
ldr r0, _0201C324 ; =0x021C5934
ldr r0, _0201C324 ; =UNK_021C5934
mov r1, #0x0
ldr r0, [r0, #0x0]
str r1, [r0, #0x4]
_0201C322:
pop {r3, pc}
.balign 4
_0201C324: .word 0x021C5934
_0201C324: .word UNK_021C5934
thumb_func_start FUN_0201C328
FUN_0201C328: ; 0x0201C328

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EDF50
.extern UNK_020FFA38
.text
thumb_func_start FUN_0201C7A0
@@ -398,7 +401,7 @@ FUN_0201CAA8: ; 0x0201CAA8
sub sp, #0x24
add r4, r1, #0x0
ldr r1, [r4, #0x0]
ldr r3, _0201CB1C ; =0x020FFA38
ldr r3, _0201CB1C ; =UNK_020FFA38
lsl r1, r1, #0x10
lsr r1, r1, #0x10
asr r1, r1, #0x4
@@ -411,7 +414,7 @@ FUN_0201CAA8: ; 0x0201CAA8
add r5, r0, #0x0
bl MTX_RotX33_
ldr r0, [r4, #0x4]
ldr r3, _0201CB1C ; =0x020FFA38
ldr r3, _0201CB1C ; =UNK_020FFA38
lsl r0, r0, #0x10
lsr r0, r0, #0x10
asr r0, r0, #0x4
@@ -428,7 +431,7 @@ FUN_0201CAA8: ; 0x0201CAA8
add r2, r5, #0x0
bl MTX_Concat33
ldr r0, [r4, #0x8]
ldr r3, _0201CB1C ; =0x020FFA38
ldr r3, _0201CB1C ; =UNK_020FFA38
lsl r0, r0, #0x10
lsr r0, r0, #0x10
asr r0, r0, #0x4
@@ -447,7 +450,7 @@ FUN_0201CAA8: ; 0x0201CAA8
add sp, #0x24
pop {r4-r5, pc}
nop
_0201CB1C: .word 0x020FFA38
_0201CB1C: .word UNK_020FFA38
thumb_func_start FUN_0201CB20
FUN_0201CB20: ; 0x0201CB20
@@ -456,7 +459,7 @@ FUN_0201CB20: ; 0x0201CB20
add r6, r1, #0x0
add r5, r2, #0x0
lsl r1, r6, #0x2
ldr r2, _0201CB78 ; =0x020EDF50
ldr r2, _0201CB78 ; =UNK_020EDF50
add r6, #0x5a
add r4, r3, #0x0
lsl r3, r6, #0x2
@@ -465,7 +468,7 @@ FUN_0201CB20: ; 0x0201CB20
add r7, r0, #0x0
bl MTX_RotX33_
lsl r1, r5, #0x2
ldr r3, _0201CB78 ; =0x020EDF50
ldr r3, _0201CB78 ; =UNK_020EDF50
add r5, #0x5a
lsl r2, r5, #0x2
ldr r1, [r3, r1]
@@ -477,7 +480,7 @@ FUN_0201CB20: ; 0x0201CB20
add r2, r7, #0x0
bl MTX_Concat33
lsl r1, r4, #0x2
ldr r3, _0201CB78 ; =0x020EDF50
ldr r3, _0201CB78 ; =UNK_020EDF50
add r4, #0x5a
lsl r2, r4, #0x2
ldr r1, [r3, r1]
@@ -491,7 +494,7 @@ FUN_0201CB20: ; 0x0201CB20
add sp, #0x24
pop {r4-r7, pc}
.balign 4
_0201CB78: .word 0x020EDF50
_0201CB78: .word UNK_020EDF50
thumb_func_start FUN_0201CB7C
FUN_0201CB7C: ; 0x0201CB7C
@@ -501,7 +504,7 @@ FUN_0201CB7C: ; 0x0201CB7C
lsl r2, r0, #0x1
add r6, r1, #0x0
lsl r0, r2, #0x1
ldr r1, _0201CBE8 ; =0x020FFA38
ldr r1, _0201CBE8 ; =UNK_020FFA38
add r2, r2, #0x1
lsl r2, r2, #0x1
ldrsh r0, [r1, r0]
@@ -547,4 +550,4 @@ FUN_0201CB7C: ; 0x0201CB7C
str r1, [r5, #0x0]
pop {r3-r7, pc}
.balign 4
_0201CBE8: .word 0x020FFA38
_0201CBE8: .word UNK_020FFA38

View File

@@ -1,31 +1,36 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C5938
.extern UNK_021C5944
.extern gUnk021C4918
.extern UNK_021C5978
.text
thumb_func_start FUN_0201CC08
FUN_0201CC08: ; 0x0201CC08
push {r3, lr}
ldr r0, _0201CC20 ; =0x021C5978
ldr r0, _0201CC20 ; =UNK_021C5978
ldrh r0, [r0, #0x1a]
cmp r0, #0x0
beq _0201CC16
bl ErrorHandling
_0201CC16:
ldr r0, _0201CC20 ; =0x021C5978
ldr r0, _0201CC20 ; =UNK_021C5978
mov r1, #0x0
strh r1, [r0, #0x18]
strh r1, [r0, #0x1a]
pop {r3, pc}
.balign 4
_0201CC20: .word 0x021C5978
_0201CC20: .word UNK_021C5978
thumb_func_start FUN_0201CC24
FUN_0201CC24: ; 0x0201CC24
push {r4, lr}
sub sp, #0x8
add r4, r0, #0x0
ldr r0, _0201CC74 ; =0x021C5978
ldr r0, _0201CC74 ; =UNK_021C5978
ldrh r0, [r0, #0x1a]
cmp r0, #0x0
beq _0201CC36
@@ -40,7 +45,7 @@ _0201CC3E:
mov r0, #0x0
pop {r4, pc}
_0201CC44:
ldr r0, _0201CC74 ; =0x021C5978
ldr r0, _0201CC74 ; =UNK_021C5978
ldrh r0, [r0, #0x18]
cmp r0, #0x0
beq _0201CC52
@@ -65,31 +70,31 @@ _0201CC70:
add sp, #0x8
pop {r4, pc}
.balign 4
_0201CC74: .word 0x021C5978
_0201CC74: .word UNK_021C5978
thumb_func_start FUN_0201CC78
FUN_0201CC78: ; 0x0201CC78
push {r4, lr}
ldr r4, _0201CC9C ; =0x021C5978
ldr r4, _0201CC9C ; =UNK_021C5978
strh r0, [r4, #0x18]
ldr r0, _0201CCA0 ; =0x021C4918
ldr r0, _0201CCA0 ; =gUnk021C4918
strb r1, [r0, #0x4]
ldr r0, _0201CCA4 ; =0x021C5938
ldr r0, _0201CCA4 ; =UNK_021C5938
ldr r1, [sp, #0xc]
str r2, [r0, #0x0]
str r3, [r0, #0x4]
str r1, [r0, #0x8]
ldr r1, [sp, #0x8]
str r1, [r0, #0x54]
ldr r0, _0201CCA8 ; =0x021C5944
ldr r0, _0201CCA8 ; =UNK_021C5944
mov r1, #0x9
bl FUN_0201CCAC
pop {r4, pc}
nop
_0201CC9C: .word 0x021C5978
_0201CCA0: .word 0x021C4918
_0201CCA4: .word 0x021C5938
_0201CCA8: .word 0x021C5944
_0201CC9C: .word UNK_021C5978
_0201CCA0: .word gUnk021C4918
_0201CCA4: .word UNK_021C5938
_0201CCA8: .word UNK_021C5944
thumb_func_start FUN_0201CCAC
FUN_0201CCAC: ; 0x0201CCAC
@@ -109,7 +114,7 @@ _0201CCBE:
thumb_func_start FUN_0201CCC0
FUN_0201CCC0: ; 0x0201CCC0
push {r4-r6, lr}
ldr r0, _0201CD00 ; =0x021C5978
ldr r0, _0201CD00 ; =UNK_021C5978
mov r5, #0x0
ldrh r0, [r0, #0x18]
cmp r0, #0x0
@@ -142,13 +147,13 @@ _0201CCFA:
mov r0, #0x1
pop {r4-r6, pc}
nop
_0201CD00: .word 0x021C5978
_0201CD00: .word UNK_021C5978
thumb_func_start FUN_0201CD04
FUN_0201CD04: ; 0x0201CD04
push {r4, lr}
sub sp, #0x8
ldr r0, _0201CD34 ; =0x021C5978
ldr r0, _0201CD34 ; =UNK_021C5978
ldrh r0, [r0, #0x1a]
cmp r0, #0x0
beq _0201CD14
@@ -170,13 +175,13 @@ _0201CD2E:
add sp, #0x8
pop {r4, pc}
.balign 4
_0201CD34: .word 0x021C5978
_0201CD34: .word UNK_021C5978
thumb_func_start FUN_0201CD38
FUN_0201CD38: ; 0x0201CD38
push {r3-r7, lr}
add r4, r0, #0x0
ldr r0, _0201CD8C ; =0x021C5978
ldr r0, _0201CD8C ; =UNK_021C5978
add r6, r1, #0x0
ldrh r0, [r0, #0x1a]
add r7, r2, #0x0
@@ -185,13 +190,13 @@ FUN_0201CD38: ; 0x0201CD38
beq _0201CD4E
bl ErrorHandling
_0201CD4E:
ldr r0, _0201CD8C ; =0x021C5978
ldr r0, _0201CD8C ; =UNK_021C5978
ldrh r0, [r0, #0x18]
cmp r0, #0x0
beq _0201CD88
bl TP_GetLatestIndexInAuto
add r5, r0, #0x0
ldr r0, _0201CD90 ; =0x021C5944
ldr r0, _0201CD90 ; =UNK_021C5944
mov r1, #0x9
bl FUN_0201CD94
cmp r4, #0x0
@@ -200,7 +205,7 @@ _0201CD4E:
add r1, r5, #0x0
bl FUN_0201CFD0
_0201CD70:
ldr r0, _0201CD8C ; =0x021C5978
ldr r0, _0201CD8C ; =UNK_021C5978
ldrh r0, [r0, #0x18]
cmp r0, #0x1
bne _0201CD86
@@ -216,8 +221,8 @@ _0201CD88:
add r0, r5, #0x0
pop {r3-r7, pc}
.balign 4
_0201CD8C: .word 0x021C5978
_0201CD90: .word 0x021C5944
_0201CD8C: .word UNK_021C5978
_0201CD90: .word UNK_021C5944
thumb_func_start FUN_0201CD94
FUN_0201CD94: ; 0x0201CD94
@@ -256,14 +261,14 @@ _0201CDCA:
thumb_func_start FUN_0201CDD0
FUN_0201CDD0: ; 0x0201CDD0
push {r3, lr}
ldr r0, _0201CDFC ; =0x021C5978
ldr r0, _0201CDFC ; =UNK_021C5978
ldrh r1, [r0, #0x1a]
cmp r1, #0x0
beq _0201CDF8
ldrh r0, [r0, #0x18]
cmp r0, #0x0
beq _0201CDF8
ldr r0, _0201CE00 ; =0x021C5938
ldr r0, _0201CE00 ; =UNK_021C5938
ldr r0, [r0, #0x8]
lsr r0, r0, #0x1
bl FUN_0201CE2C
@@ -271,19 +276,19 @@ FUN_0201CDD0: ; 0x0201CDD0
beq _0201CDF2
bl ErrorHandling
_0201CDF2:
ldr r0, _0201CDFC ; =0x021C5978
ldr r0, _0201CDFC ; =UNK_021C5978
mov r1, #0x0
strh r1, [r0, #0x1a]
_0201CDF8:
pop {r3, pc}
nop
_0201CDFC: .word 0x021C5978
_0201CE00: .word 0x021C5938
_0201CDFC: .word UNK_021C5978
_0201CE00: .word UNK_021C5938
thumb_func_start FUN_0201CE04
FUN_0201CE04: ; 0x0201CE04
push {r3, lr}
ldr r0, _0201CE28 ; =0x021C5978
ldr r0, _0201CE28 ; =UNK_021C5978
ldrh r1, [r0, #0x1a]
cmp r1, #0x1
beq _0201CE26
@@ -295,20 +300,20 @@ FUN_0201CE04: ; 0x0201CE04
beq _0201CE20
bl ErrorHandling
_0201CE20:
ldr r0, _0201CE28 ; =0x021C5978
ldr r0, _0201CE28 ; =UNK_021C5978
mov r1, #0x1
strh r1, [r0, #0x1a]
_0201CE26:
pop {r3, pc}
.balign 4
_0201CE28: .word 0x021C5978
_0201CE28: .word UNK_021C5978
thumb_func_start FUN_0201CE2C
FUN_0201CE2C: ; 0x0201CE2C
push {r3-r7, lr}
mov r5, #0x0
lsl r0, r0, #0x10
ldr r7, _0201CE6C ; =0x021C5944
ldr r7, _0201CE6C ; =UNK_021C5944
add r6, r5, #0x0
lsr r4, r0, #0x10
_0201CE38:
@@ -338,7 +343,7 @@ _0201CE66:
mov r0, #0x1
pop {r3-r7, pc}
nop
_0201CE6C: .word 0x021C5944
_0201CE6C: .word UNK_021C5944
thumb_func_start FUN_0201CE70
FUN_0201CE70: ; 0x0201CE70
@@ -373,7 +378,7 @@ _0201CE9A:
FUN_0201CEA0: ; 0x0201CEA0
push {r3-r7, lr}
sub sp, #0x8
ldr r5, _0201CF50 ; =0x021C5938
ldr r5, _0201CF50 ; =UNK_021C5938
str r1, [sp, #0x4]
ldr r1, [r5, #0x8]
str r0, [sp, #0x0]
@@ -394,7 +399,7 @@ _0201CEB4:
asr r0, r0, #0x10
_0201CEC8:
lsl r1, r0, #0x3
ldr r0, _0201CF54 ; =0x021C5938
ldr r0, _0201CF54 ; =UNK_021C5938
add r1, r0, r1
ldrh r0, [r1, #0x10]
cmp r0, #0x1
@@ -463,18 +468,18 @@ _0201CF3E:
cmp r4, r1
blo _0201CEB4
_0201CF46:
ldr r0, _0201CF50 ; =0x021C5938
ldr r0, _0201CF50 ; =UNK_021C5938
ldr r0, [r0, #0x54]
add sp, #0x8
pop {r3-r7, pc}
nop
_0201CF50: .word 0x021C5938
_0201CF54: .word 0x021C5938
_0201CF50: .word UNK_021C5938
_0201CF54: .word UNK_021C5938
thumb_func_start FUN_0201CF58
FUN_0201CF58: ; 0x0201CF58
push {r3-r7, lr}
ldr r5, _0201CFC8 ; =0x021C5938
ldr r5, _0201CFC8 ; =UNK_021C5938
str r1, [sp, #0x0]
ldr r1, [r5, #0x8]
add r7, r0, #0x0
@@ -496,7 +501,7 @@ _0201CF7C:
ldr r0, [r5, #0x54]
lsl r1, r1, #0x3
lsl r3, r0, #0x3
ldr r0, _0201CFCC ; =0x021C5938
ldr r0, _0201CFCC ; =UNK_021C5938
ldr r6, [r5, #0x0]
add r2, r0, r1
ldrh r0, [r2, #0xc]
@@ -529,12 +534,12 @@ _0201CFB8:
cmp r4, r1
blo _0201CF68
_0201CFC0:
ldr r0, _0201CFC8 ; =0x021C5938
ldr r0, _0201CFC8 ; =UNK_021C5938
ldr r0, [r0, #0x54]
pop {r3-r7, pc}
nop
_0201CFC8: .word 0x021C5938
_0201CFCC: .word 0x021C5938
_0201CFC8: .word UNK_021C5938
_0201CFCC: .word UNK_021C5938
thumb_func_start FUN_0201CFD0
FUN_0201CFD0: ; 0x0201CFD0
@@ -552,11 +557,11 @@ _0201CFDA:
add r3, #0x8
cmp r2, #0x8
blt _0201CFDA
ldr r2, _0201D038 ; =0x021C5938
ldr r2, _0201D038 ; =UNK_021C5938
ldr r3, [r2, #0x8]
cmp r3, #0x0
bls _0201D034
ldr r4, _0201D03C ; =0x021C5938
ldr r4, _0201D03C ; =UNK_021C5938
_0201CFF4:
sub r3, r1, r3
add r3, r6, r3
@@ -596,5 +601,5 @@ _0201D034:
pop {r4-r7}
bx lr
.balign 4
_0201D038: .word 0x021C5938
_0201D03C: .word 0x021C5938
_0201D038: .word UNK_021C5938
_0201D03C: .word UNK_021C5938

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C5994
.text
thumb_func_start FUN_0201D040
@@ -24,7 +26,7 @@ FUN_0201D060: ; 0x0201D060
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
ldr r0, _0201D120 ; =0x021C5994
ldr r0, _0201D120 ; =UNK_021C5994
str r1, [sp, #0x0]
ldr r0, [r0, #0x0]
str r2, [sp, #0x4]
@@ -34,12 +36,12 @@ FUN_0201D060: ; 0x0201D060
mov r1, #0x3c
bl FUN_02016998
add r1, r0, #0x0
ldr r0, _0201D120 ; =0x021C5994
ldr r0, _0201D120 ; =UNK_021C5994
mov r2, #0x3c
str r1, [r0, #0x0]
mov r0, #0x0
bl MIi_CpuClear32
ldr r1, _0201D120 ; =0x021C5994
ldr r1, _0201D120 ; =UNK_021C5994
ldr r2, [r5, #0x0]
ldr r0, [r1, #0x0]
str r2, [r0, #0x4]
@@ -49,7 +51,7 @@ FUN_0201D060: ; 0x0201D060
mov r1, #0x54
mul r1, r2
bl FUN_02016998
ldr r7, _0201D120 ; =0x021C5994
ldr r7, _0201D120 ; =UNK_021C5994
mov r6, #0x0
ldr r1, [r7, #0x0]
str r0, [r1, #0x0]
@@ -70,12 +72,12 @@ _0201D0AE:
_0201D0C2:
ldr r0, [sp, #0x0]
bl FUN_0201DED0
ldr r1, _0201D120 ; =0x021C5994
ldr r1, _0201D120 ; =UNK_021C5994
ldr r1, [r1, #0x0]
str r0, [r1, #0x2c]
ldr r0, [sp, #0x4]
bl FUN_0201DED0
ldr r2, _0201D120 ; =0x021C5994
ldr r2, _0201D120 ; =UNK_021C5994
mov r3, #0x1
ldr r1, [r2, #0x0]
lsl r3, r3, #0x1a
@@ -97,7 +99,7 @@ _0201D0C2:
ldr r0, [r5, #0x4]
ldr r1, [r1, #0x2c]
bl FUN_0201DF2C
ldr r1, _0201D120 ; =0x021C5994
ldr r1, _0201D120 ; =UNK_021C5994
add r4, r0, #0x0
ldr r1, [r1, #0x0]
ldr r0, [r5, #0x8]
@@ -111,43 +113,43 @@ _0201D11A:
add sp, #0x8
pop {r3-r7, pc}
nop
_0201D120: .word 0x021C5994
_0201D120: .word UNK_021C5994
_0201D124: .word 0xFFCFFFEF
_0201D128: .word 0x04001000
thumb_func_start FUN_0201D12C
FUN_0201D12C: ; 0x0201D12C
push {r3, lr}
ldr r0, _0201D164 ; =0x021C5994
ldr r0, _0201D164 ; =UNK_021C5994
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _0201D162
ldr r0, [r0, #0x34]
bl FUN_0201DCC0
ldr r0, _0201D164 ; =0x021C5994
ldr r0, _0201D164 ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x38]
bl FUN_0201DCC0
bl FUN_0201D374
ldr r0, _0201D164 ; =0x021C5994
ldr r0, _0201D164 ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _0201D164 ; =0x021C5994
ldr r0, _0201D164 ; =UNK_021C5994
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _0201D164 ; =0x021C5994
ldr r0, _0201D164 ; =UNK_021C5994
mov r1, #0x0
str r1, [r0, #0x0]
_0201D162:
pop {r3, pc}
.balign 4
_0201D164: .word 0x021C5994
_0201D164: .word UNK_021C5994
thumb_func_start FUN_0201D168
FUN_0201D168: ; 0x0201D168
push {r3, lr}
ldr r0, _0201D190 ; =0x021C5994
ldr r0, _0201D190 ; =UNK_021C5994
mov r2, #0x0
ldr r1, [r0, #0x0]
str r2, [r1, #0xc]
@@ -156,14 +158,14 @@ FUN_0201D168: ; 0x0201D168
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x34]
bl FUN_0201DD00
ldr r0, _0201D190 ; =0x021C5994
ldr r0, _0201D190 ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x38]
bl FUN_0201DD00
bl FUN_0201DAE8
pop {r3, pc}
nop
_0201D190: .word 0x021C5994
_0201D190: .word UNK_021C5994
thumb_func_start FUN_0201D194
FUN_0201D194: ; 0x0201D194
@@ -175,7 +177,7 @@ FUN_0201D194: ; 0x0201D194
add r0, sp, #0x4
bne _0201D1CA
str r0, [sp, #0x0]
ldr r0, _0201D1F4 ; =0x021C5994
ldr r0, _0201D1F4 ; =UNK_021C5994
add r2, r3, #0x0
ldr r0, [r0, #0x0]
add r1, r4, #0x0
@@ -194,7 +196,7 @@ FUN_0201D194: ; 0x0201D194
pop {r3-r4, pc}
_0201D1CA:
str r0, [sp, #0x0]
ldr r0, _0201D1F4 ; =0x021C5994
ldr r0, _0201D1F4 ; =UNK_021C5994
add r2, r3, #0x0
ldr r0, [r0, #0x0]
add r1, r4, #0x0
@@ -214,7 +216,7 @@ _0201D1F0:
add sp, #0xc
pop {r3-r4, pc}
.balign 4
_0201D1F4: .word 0x021C5994
_0201D1F4: .word UNK_021C5994
thumb_func_start FUN_0201D1F8
FUN_0201D1F8: ; 0x0201D1F8
@@ -250,7 +252,7 @@ _0201D22A:
mov r0, #0x0
pop {r3-r5, pc}
_0201D23E:
ldr r0, _0201D24C ; =0x021C5994
ldr r0, _0201D24C ; =UNK_021C5994
ldr r1, [r0, #0x0]
ldr r0, [r1, #0x8]
add r0, r0, #0x1
@@ -258,7 +260,7 @@ _0201D23E:
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
_0201D24C: .word 0x021C5994
_0201D24C: .word UNK_021C5994
thumb_func_start FUN_0201D250
FUN_0201D250: ; 0x0201D250
@@ -296,7 +298,7 @@ _0201D282:
mov r0, #0x0
pop {r3-r5, pc}
_0201D29A:
ldr r0, _0201D2A8 ; =0x021C5994
ldr r0, _0201D2A8 ; =UNK_021C5994
ldr r1, [r0, #0x0]
ldr r0, [r1, #0x8]
add r0, r0, #0x1
@@ -304,12 +306,12 @@ _0201D29A:
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
_0201D2A8: .word 0x021C5994
_0201D2A8: .word UNK_021C5994
thumb_func_start FUN_0201D2AC
FUN_0201D2AC: ; 0x0201D2AC
push {r3-r4}
ldr r1, _0201D2D8 ; =0x021C5994
ldr r1, _0201D2D8 ; =UNK_021C5994
mov r2, #0x0
ldr r4, [r1, #0x0]
ldr r1, [r4, #0x4]
@@ -334,7 +336,7 @@ _0201D2D2:
pop {r3-r4}
bx lr
.balign 4
_0201D2D8: .word 0x021C5994
_0201D2D8: .word UNK_021C5994
thumb_func_start FUN_0201D2DC
FUN_0201D2DC: ; 0x0201D2DC
@@ -408,7 +410,7 @@ _0201D350:
beq _0201D36E
add r0, r4, #0x0
bl FUN_0201D7E0
ldr r0, _0201D370 ; =0x021C5994
ldr r0, _0201D370 ; =UNK_021C5994
ldr r1, [r0, #0x0]
ldr r0, [r1, #0x8]
sub r0, r0, #0x1
@@ -416,12 +418,12 @@ _0201D350:
_0201D36E:
pop {r3-r7, pc}
.balign 4
_0201D370: .word 0x021C5994
_0201D370: .word UNK_021C5994
thumb_func_start FUN_0201D374
FUN_0201D374: ; 0x0201D374
push {r4-r6, lr}
ldr r6, _0201D3AC ; =0x021C5994
ldr r6, _0201D3AC ; =UNK_021C5994
mov r4, #0x0
ldr r1, [r6, #0x0]
ldr r0, [r1, #0x4]
@@ -451,7 +453,7 @@ _0201D39E:
_0201D3AA:
pop {r4-r6, pc}
.balign 4
_0201D3AC: .word 0x021C5994
_0201D3AC: .word UNK_021C5994
thumb_func_start FUN_0201D3B0
FUN_0201D3B0: ; 0x0201D3B0
@@ -620,7 +622,7 @@ _0201D4AA:
thumb_func_start FUN_0201D4F0
FUN_0201D4F0: ; 0x0201D4F0
push {r4-r6, lr}
ldr r2, _0201D564 ; =0x021C5994
ldr r2, _0201D564 ; =UNK_021C5994
mov r1, #0x0
ldr r5, [r2, #0x0]
ldr r4, [r5, #0x4]
@@ -662,7 +664,7 @@ _0201D52E:
ldr r0, [r5, #0x0]
add r0, r0, r4
bl FUN_0201DE4C
ldr r0, _0201D564 ; =0x021C5994
ldr r0, _0201D564 ; =UNK_021C5994
ldr r1, [r0, #0x0]
ldr r2, [r1, #0x0]
add r2, #0x3c
@@ -682,7 +684,7 @@ _0201D554:
_0201D562:
pop {r4-r6, pc}
.balign 4
_0201D564: .word 0x021C5994
_0201D564: .word UNK_021C5994
thumb_func_start FUN_0201D568
FUN_0201D568: ; 0x0201D568
@@ -759,20 +761,20 @@ FUN_0201D5E8: ; 0x0201D5E8
mov r0, #0x1
tst r0, r1
beq _0201D61E
ldr r1, _0201D654 ; =0x021C5994
ldr r1, _0201D654 ; =UNK_021C5994
ldr r0, [r4, #0x0]
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x2c]
bl FUN_0201DF2C
add r5, r0, #0x0
ldr r0, _0201D654 ; =0x021C5994
ldr r0, _0201D654 ; =UNK_021C5994
ldr r1, [r4, #0x4]
ldr r2, [r0, #0x0]
ldr r0, [r2, #0x1c]
sub r0, r1, r0
ldr r1, [r2, #0x2c]
bl FUN_0201DF2C
ldr r2, _0201D654 ; =0x021C5994
ldr r2, _0201D654 ; =UNK_021C5994
add r1, r5, #0x0
ldr r2, [r2, #0x0]
ldr r2, [r2, #0x34]
@@ -782,20 +784,20 @@ _0201D61E:
mov r0, #0x2
tst r0, r1
beq _0201D650
ldr r1, _0201D654 ; =0x021C5994
ldr r1, _0201D654 ; =UNK_021C5994
ldr r0, [r4, #0x0]
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x30]
bl FUN_0201DF2C
add r5, r0, #0x0
ldr r0, _0201D654 ; =0x021C5994
ldr r0, _0201D654 ; =UNK_021C5994
ldr r1, [r4, #0x4]
ldr r2, [r0, #0x0]
ldr r0, [r2, #0x20]
sub r0, r1, r0
ldr r1, [r2, #0x30]
bl FUN_0201DF2C
ldr r2, _0201D654 ; =0x021C5994
ldr r2, _0201D654 ; =UNK_021C5994
add r1, r5, #0x0
ldr r2, [r2, #0x0]
ldr r2, [r2, #0x38]
@@ -803,40 +805,40 @@ _0201D61E:
_0201D650:
pop {r3-r5, pc}
nop
_0201D654: .word 0x021C5994
_0201D654: .word UNK_021C5994
thumb_func_start FUN_0201D658
FUN_0201D658: ; 0x0201D658
push {r3, lr}
ldr r0, _0201D670 ; =0x021C5994
ldr r0, _0201D670 ; =UNK_021C5994
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _0201D666
bl ErrorHandling
_0201D666:
ldr r1, _0201D670 ; =0x021C5994
ldr r1, _0201D670 ; =UNK_021C5994
mov r2, #0x0
ldr r0, [r1, #0x0]
str r2, [r1, #0x0]
pop {r3, pc}
.balign 4
_0201D670: .word 0x021C5994
_0201D670: .word UNK_021C5994
thumb_func_start FUN_0201D674
FUN_0201D674: ; 0x0201D674
push {r4, lr}
add r4, r0, #0x0
ldr r0, _0201D68C ; =0x021C5994
ldr r0, _0201D68C ; =UNK_021C5994
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _0201D684
bl ErrorHandling
_0201D684:
ldr r0, _0201D68C ; =0x021C5994
ldr r0, _0201D68C ; =UNK_021C5994
str r4, [r0, #0x0]
pop {r4, pc}
nop
_0201D68C: .word 0x021C5994
_0201D68C: .word UNK_021C5994
thumb_func_start FUN_0201D690
FUN_0201D690: ; 0x0201D690
@@ -882,7 +884,7 @@ FUN_0201D6B4: ; 0x0201D6B4
thumb_func_start FUN_0201D6D8
FUN_0201D6D8: ; 0x0201D6D8
push {r3-r6}
ldr r2, _0201D720 ; =0x021C5994
ldr r2, _0201D720 ; =UNK_021C5994
mov r1, #0x0
ldr r5, [r2, #0x0]
ldr r4, [r5, #0x4]
@@ -922,7 +924,7 @@ _0201D714:
pop {r3-r6}
bx lr
.balign 4
_0201D720: .word 0x021C5994
_0201D720: .word UNK_021C5994
thumb_func_start FUN_0201D724
FUN_0201D724: ; 0x0201D724
@@ -1040,7 +1042,7 @@ _0201D7EE:
thumb_func_start FUN_0201D7F8
FUN_0201D7F8: ; 0x0201D7F8
push {r4-r5}
ldr r2, _0201D82C ; =0x021C5994
ldr r2, _0201D82C ; =UNK_021C5994
mov r1, #0x0
ldr r5, [r2, #0x0]
ldr r2, [r5, #0x4]
@@ -1068,7 +1070,7 @@ _0201D824:
pop {r4-r5}
bx lr
nop
_0201D82C: .word 0x021C5994
_0201D82C: .word UNK_021C5994
thumb_func_start FUN_0201D830
FUN_0201D830: ; 0x0201D830
@@ -1120,17 +1122,17 @@ FUN_0201D86C: ; 0x0201D86C
ldr r7, [sp, #0x18]
tst r0, r2
beq _0201D8C4
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
add r0, r3, #0x0
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x2c]
bl FUN_0201DF10
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
str r0, [r7, #0x0]
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x2c]
bl FUN_0201DF2C
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x34]
bl FUN_0201DD74
@@ -1143,7 +1145,7 @@ FUN_0201D86C: ; 0x0201D86C
mov r0, #0x0
pop {r3-r7, pc}
_0201D8B8:
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x2c]
bl FUN_0201DF3C
@@ -1152,7 +1154,7 @@ _0201D8C4:
mov r0, #0x2
tst r0, r5
beq _0201D90E
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
ldr r0, [sp, #0x0]
ldr r1, [r1, #0x0]
mov r2, #0x1
@@ -1160,11 +1162,11 @@ _0201D8C4:
bl FUN_0201DF10
ldr r1, [sp, #0x1c]
str r0, [r1, #0x0]
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x30]
bl FUN_0201DF2C
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x38]
bl FUN_0201DD74
@@ -1177,7 +1179,7 @@ _0201D8C4:
mov r0, #0x0
pop {r3-r7, pc}
_0201D902:
ldr r1, _0201D914 ; =0x021C5994
ldr r1, _0201D914 ; =UNK_021C5994
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x30]
bl FUN_0201DF3C
@@ -1186,7 +1188,7 @@ _0201D90E:
mov r0, #0x1
pop {r3-r7, pc}
nop
_0201D914: .word 0x021C5994
_0201D914: .word UNK_021C5994
thumb_func_start FUN_0201D918
FUN_0201D918: ; 0x0201D918
@@ -1195,7 +1197,7 @@ FUN_0201D918: ; 0x0201D918
mov r3, #0x1
tst r3, r4
beq _0201D92C
ldr r3, _0201D944 ; =0x021C5994
ldr r3, _0201D944 ; =UNK_021C5994
ldr r3, [r3, #0x0]
ldr r3, [r3, #0x1c]
add r1, r1, r3
@@ -1205,7 +1207,7 @@ _0201D92C:
mov r1, #0x2
tst r1, r3
beq _0201D93E
ldr r1, _0201D944 ; =0x021C5994
ldr r1, _0201D944 ; =UNK_021C5994
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x20]
add r1, r2, r1
@@ -1214,7 +1216,7 @@ _0201D93E:
pop {r3-r4}
bx lr
nop
_0201D944: .word 0x021C5994
_0201D944: .word UNK_021C5994
thumb_func_start FUN_0201D948
FUN_0201D948: ; 0x0201D948
@@ -1225,18 +1227,18 @@ FUN_0201D948: ; 0x0201D948
add r6, r2, #0x0
tst r0, r5
beq _0201D97C
ldr r1, _0201D9AC ; =0x021C5994
ldr r1, _0201D9AC ; =UNK_021C5994
add r0, r3, #0x0
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x2c]
bl FUN_0201DF2C
ldr r1, _0201D9AC ; =0x021C5994
ldr r1, _0201D9AC ; =UNK_021C5994
add r7, r0, #0x0
ldr r1, [r1, #0x0]
add r0, r4, #0x0
ldr r1, [r1, #0x2c]
bl FUN_0201DF2C
ldr r2, _0201D9AC ; =0x021C5994
ldr r2, _0201D9AC ; =UNK_021C5994
add r1, r7, #0x0
ldr r2, [r2, #0x0]
ldr r2, [r2, #0x34]
@@ -1245,18 +1247,18 @@ _0201D97C:
mov r0, #0x2
tst r0, r5
beq _0201D9A8
ldr r1, _0201D9AC ; =0x021C5994
ldr r1, _0201D9AC ; =UNK_021C5994
ldr r0, [sp, #0x18]
ldr r1, [r1, #0x0]
ldr r1, [r1, #0x30]
bl FUN_0201DF2C
ldr r1, _0201D9AC ; =0x021C5994
ldr r1, _0201D9AC ; =UNK_021C5994
add r4, r0, #0x0
ldr r1, [r1, #0x0]
add r0, r6, #0x0
ldr r1, [r1, #0x30]
bl FUN_0201DF2C
ldr r2, _0201D9AC ; =0x021C5994
ldr r2, _0201D9AC ; =UNK_021C5994
add r1, r4, #0x0
ldr r2, [r2, #0x0]
ldr r2, [r2, #0x38]
@@ -1264,7 +1266,7 @@ _0201D97C:
_0201D9A8:
pop {r3-r7, pc}
nop
_0201D9AC: .word 0x021C5994
_0201D9AC: .word UNK_021C5994
thumb_func_start FUN_0201D9B0
FUN_0201D9B0: ; 0x0201D9B0
@@ -1405,7 +1407,7 @@ _0201DAA8: .word 0x04001000
thumb_func_start FUN_0201DAAC
FUN_0201DAAC: ; 0x0201DAAC
push {r3-r4}
ldr r1, _0201DAE4 ; =0x021C5994
ldr r1, _0201DAE4 ; =UNK_021C5994
mov r0, #0x0
ldr r4, [r1, #0x0]
ldr r1, [r4, #0x4]
@@ -1435,7 +1437,7 @@ _0201DADC:
pop {r3-r4}
bx lr
nop
_0201DAE4: .word 0x021C5994
_0201DAE4: .word UNK_021C5994
thumb_func_start FUN_0201DAE8
FUN_0201DAE8: ; 0x0201DAE8
@@ -1481,62 +1483,62 @@ _0201DB2C:
beq _0201DB6C
b _0201DB90
_0201DB32:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x0
ldr r0, [r0, #0x0]
str r1, [r0, #0x14]
b _0201DB98
_0201DB3C:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x1
ldr r0, [r0, #0x0]
lsl r1, r1, #0xe
str r1, [r0, #0x14]
b _0201DB98
_0201DB48:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x2
ldr r0, [r0, #0x0]
lsl r1, r1, #0xe
str r1, [r0, #0x14]
b _0201DB98
_0201DB54:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x1
ldr r0, [r0, #0x0]
lsl r1, r1, #0x10
str r1, [r0, #0x14]
b _0201DB98
_0201DB60:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x5
ldr r0, [r0, #0x0]
lsl r1, r1, #0xe
str r1, [r0, #0x14]
b _0201DB98
_0201DB6C:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x6
ldr r0, [r0, #0x0]
lsl r1, r1, #0xe
str r1, [r0, #0x14]
b _0201DB98
_0201DB78:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x2
ldr r0, [r0, #0x0]
lsl r1, r1, #0x10
str r1, [r0, #0x14]
b _0201DB98
_0201DB84:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x1
ldr r0, [r0, #0x0]
lsl r1, r1, #0x12
str r1, [r0, #0x14]
b _0201DB98
_0201DB90:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x0
ldr r0, [r0, #0x0]
str r1, [r0, #0x14]
@@ -1552,36 +1554,36 @@ _0201DB98:
beq _0201DBB8
b _0201DBCE
_0201DBAE:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x0
ldr r0, [r0, #0x0]
str r1, [r0, #0x18]
b _0201DBD6
_0201DBB8:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
lsl r1, r1, #0x6
ldr r0, [r0, #0x0]
str r1, [r0, #0x18]
b _0201DBD6
_0201DBC2:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x2
ldr r0, [r0, #0x0]
lsl r1, r1, #0x10
str r1, [r0, #0x18]
b _0201DBD6
_0201DBCE:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r1, #0x0
ldr r0, [r0, #0x0]
str r1, [r0, #0x18]
_0201DBD6:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
ldr r1, [r0, #0x0]
ldr r0, [r1, #0x24]
ldr r1, [r1, #0x2c]
bl FUN_0201DF3C
ldr r1, _0201DC38 ; =0x021C5994
ldr r1, _0201DC38 ; =UNK_021C5994
ldr r3, [r1, #0x0]
ldr r2, [r3, #0x14]
sub r0, r2, r0
@@ -1590,7 +1592,7 @@ _0201DBD6:
ldr r0, [r1, #0x28]
ldr r1, [r1, #0x30]
bl FUN_0201DF3C
ldr r1, _0201DC38 ; =0x021C5994
ldr r1, _0201DC38 ; =UNK_021C5994
ldr r3, [r1, #0x0]
ldr r2, [r3, #0x18]
sub r0, r2, r0
@@ -1609,7 +1611,7 @@ _0201DC12:
bne _0201DC1A
bl ErrorHandling
_0201DC1A:
ldr r0, _0201DC38 ; =0x021C5994
ldr r0, _0201DC38 ; =UNK_021C5994
mov r2, #0x0
ldr r1, [r0, #0x0]
ldr r0, [r1, #0x1c]
@@ -1626,28 +1628,28 @@ _0201DC2E:
_0201DC36:
pop {r3, pc}
.balign 4
_0201DC38: .word 0x021C5994
_0201DC38: .word UNK_021C5994
thumb_func_start FUN_0201DC3C
FUN_0201DC3C: ; 0x0201DC3C
push {r3, lr}
ldr r0, _0201DC54 ; =0x021C5994
ldr r0, _0201DC54 ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x34]
bl FUN_0201DD00
ldr r0, _0201DC54 ; =0x021C5994
ldr r0, _0201DC54 ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x38]
bl FUN_0201DD00
pop {r3, pc}
.balign 4
_0201DC54: .word 0x021C5994
_0201DC54: .word UNK_021C5994
thumb_func_start FUN_0201DC58
FUN_0201DC58: ; 0x0201DC58
push {r4-r6, lr}
add r5, r0, #0x0
ldr r0, _0201DCBC ; =0x021C5994
ldr r0, _0201DCBC ; =UNK_021C5994
add r4, r1, #0x0
ldr r1, [r0, #0x0]
add r6, r2, #0x0
@@ -1660,14 +1662,14 @@ FUN_0201DC58: ; 0x0201DC58
beq _0201DC76
bl FUN_02016A18
_0201DC76:
ldr r0, _0201DCBC ; =0x021C5994
ldr r0, _0201DCBC ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x38]
cmp r0, #0x0
beq _0201DC84
bl FUN_02016A18
_0201DC84:
ldr r0, _0201DCBC ; =0x021C5994
ldr r0, _0201DCBC ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x24]
cmp r0, #0x0
@@ -1675,11 +1677,11 @@ _0201DC84:
add r0, r6, #0x0
lsr r1, r5, #0x3
bl FUN_02016998
ldr r1, _0201DCBC ; =0x021C5994
ldr r1, _0201DCBC ; =UNK_021C5994
ldr r1, [r1, #0x0]
str r0, [r1, #0x34]
_0201DC9C:
ldr r0, _0201DCBC ; =0x021C5994
ldr r0, _0201DCBC ; =UNK_021C5994
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x28]
cmp r0, #0x0
@@ -1687,21 +1689,21 @@ _0201DC9C:
add r0, r6, #0x0
lsr r1, r4, #0x3
bl FUN_02016998
ldr r1, _0201DCBC ; =0x021C5994
ldr r1, _0201DCBC ; =UNK_021C5994
ldr r1, [r1, #0x0]
str r0, [r1, #0x38]
_0201DCB4:
bl FUN_0201DC3C
pop {r4-r6, pc}
nop
_0201DCBC: .word 0x021C5994
_0201DCBC: .word UNK_021C5994
thumb_func_start FUN_0201DCC0
FUN_0201DCC0: ; 0x0201DCC0
push {r3, lr}
cmp r0, #0x0
beq _0201DCE2
ldr r1, _0201DCE4 ; =0x021C5994
ldr r1, _0201DCE4 ; =UNK_021C5994
ldr r2, [r1, #0x0]
ldr r1, [r2, #0x34]
cmp r0, r1
@@ -1717,11 +1719,11 @@ _0201DCDA:
_0201DCE2:
pop {r3, pc}
.balign 4
_0201DCE4: .word 0x021C5994
_0201DCE4: .word UNK_021C5994
thumb_func_start FUN_0201DCE8
FUN_0201DCE8: ; 0x0201DCE8
ldr r1, _0201DCFC ; =0x021C5994
ldr r1, _0201DCFC ; =UNK_021C5994
ldr r2, [r1, #0x0]
ldr r1, [r2, #0x34]
cmp r0, r1
@@ -1732,7 +1734,7 @@ _0201DCF6:
ldr r0, [r2, #0x28]
bx lr
nop
_0201DCFC: .word 0x021C5994
_0201DCFC: .word UNK_021C5994
thumb_func_start FUN_0201DD00
FUN_0201DD00: ; 0x0201DD00
@@ -1927,19 +1929,19 @@ FUN_0201DE4C: ; 0x0201DE4C
add r0, r4, #0x0
add r0, #0x10
bl FUN_020B1A14
ldr r1, _0201DECC ; =0x021C5994
ldr r1, _0201DECC ; =UNK_021C5994
ldr r2, [r1, #0x0]
ldr r1, [r2, #0x1c]
sub r0, r0, r1
ldr r1, [r2, #0x2c]
bl FUN_0201DF2C
ldr r1, _0201DECC ; =0x021C5994
ldr r1, _0201DECC ; =UNK_021C5994
add r5, r0, #0x0
ldr r1, [r1, #0x0]
ldr r0, [r4, #0x4c]
ldr r1, [r1, #0x2c]
bl FUN_0201DF2C
ldr r2, _0201DECC ; =0x021C5994
ldr r2, _0201DECC ; =UNK_021C5994
add r1, r0, #0x0
ldr r2, [r2, #0x0]
add r0, r5, #0x0
@@ -1953,19 +1955,19 @@ _0201DE8A:
add r0, r4, #0x0
add r0, #0x10
bl FUN_020B1A14
ldr r1, _0201DECC ; =0x021C5994
ldr r1, _0201DECC ; =UNK_021C5994
ldr r2, [r1, #0x0]
ldr r1, [r2, #0x20]
sub r0, r0, r1
ldr r1, [r2, #0x30]
bl FUN_0201DF2C
ldr r1, _0201DECC ; =0x021C5994
ldr r1, _0201DECC ; =UNK_021C5994
add r5, r0, #0x0
ldr r1, [r1, #0x0]
ldr r0, [r4, #0x50]
ldr r1, [r1, #0x30]
bl FUN_0201DF2C
ldr r2, _0201DECC ; =0x021C5994
ldr r2, _0201DECC ; =UNK_021C5994
add r1, r0, #0x0
ldr r2, [r2, #0x0]
add r0, r5, #0x0
@@ -1976,7 +1978,7 @@ _0201DEC4:
str r0, [r4, #0x48]
pop {r3-r5, pc}
nop
_0201DECC: .word 0x021C5994
_0201DECC: .word UNK_021C5994
thumb_func_start FUN_0201DED0
FUN_0201DED0: ; 0x0201DED0
@@ -2064,7 +2066,7 @@ FUN_0201DF44: ; 0x0201DF44
add r7, r3, #0x0
tst r2, r0
beq _0201DF6E
ldr r2, _0201DF90 ; =0x021C5994
ldr r2, _0201DF90 ; =UNK_021C5994
ldr r2, [r2, #0x0]
ldr r6, [r2, #0xc]
ldr r2, [r2, #0x1c]
@@ -2080,7 +2082,7 @@ _0201DF6E:
mov r1, #0x2
tst r1, r4
beq _0201DF8C
ldr r1, _0201DF90 ; =0x021C5994
ldr r1, _0201DF90 ; =UNK_021C5994
ldr r1, [r1, #0x0]
ldr r3, [r1, #0x10]
ldr r1, [r1, #0x20]
@@ -2095,7 +2097,7 @@ _0201DF8A:
_0201DF8C:
pop {r3-r7, pc}
nop
_0201DF90: .word 0x021C5994
_0201DF90: .word UNK_021C5994
thumb_func_start FUN_0201DF94
FUN_0201DF94: ; 0x0201DF94
@@ -2106,7 +2108,7 @@ FUN_0201DF94: ; 0x0201DF94
add r0, r4, #0x0
tst r0, r2
beq _0201DFBC
ldr r0, _0201DFE0 ; =0x021C5994
ldr r0, _0201DFE0 ; =UNK_021C5994
ldr r3, [r0, #0x0]
ldr r1, [r3, #0xc]
add r1, r1, r5
@@ -2115,14 +2117,14 @@ FUN_0201DF94: ; 0x0201DF94
ldr r0, [r1, #0xc]
ldr r1, [r1, #0x2c]
bl FUN_0201DF10
ldr r1, _0201DFE0 ; =0x021C5994
ldr r1, _0201DFE0 ; =UNK_021C5994
ldr r1, [r1, #0x0]
str r0, [r1, #0xc]
_0201DFBC:
mov r0, #0x2
tst r0, r4
beq _0201DFDE
ldr r0, _0201DFE0 ; =0x021C5994
ldr r0, _0201DFE0 ; =UNK_021C5994
ldr r2, [r0, #0x0]
ldr r1, [r2, #0x10]
add r1, r1, r5
@@ -2132,13 +2134,13 @@ _0201DFBC:
ldr r0, [r1, #0x10]
ldr r1, [r1, #0x30]
bl FUN_0201DF10
ldr r1, _0201DFE0 ; =0x021C5994
ldr r1, _0201DFE0 ; =UNK_021C5994
ldr r1, [r1, #0x0]
str r0, [r1, #0x10]
_0201DFDE:
pop {r3-r5, pc}
.balign 4
_0201DFE0: .word 0x021C5994
_0201DFE0: .word UNK_021C5994
thumb_func_start FUN_0201DFE4
FUN_0201DFE4: ; 0x0201DFE4

View File

@@ -1,13 +1,15 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C5998
.text
thumb_func_start FUN_0201E00C
FUN_0201E00C: ; 0x0201E00C
push {r3-r7, lr}
add r6, r0, #0x0
ldr r0, _0201E064 ; =0x021C5998
ldr r0, _0201E064 ; =UNK_021C5998
add r4, r1, #0x0
ldr r0, [r0, #0x0]
cmp r0, #0x0
@@ -16,19 +18,19 @@ FUN_0201E00C: ; 0x0201E00C
mov r1, #0x28
bl FUN_02016998
add r1, r0, #0x0
ldr r0, _0201E064 ; =0x021C5998
ldr r0, _0201E064 ; =UNK_021C5998
mov r2, #0x28
str r1, [r0, #0x0]
mov r0, #0x0
bl MIi_CpuClear32
ldr r0, _0201E064 ; =0x021C5998
ldr r0, _0201E064 ; =UNK_021C5998
mov r1, #0x30
ldr r0, [r0, #0x0]
mul r1, r6
str r6, [r0, #0x4]
add r0, r4, #0x0
bl FUN_02016998
ldr r7, _0201E064 ; =0x021C5998
ldr r7, _0201E064 ; =UNK_021C5998
mov r4, #0x0
ldr r1, [r7, #0x0]
cmp r6, #0x0
@@ -47,13 +49,13 @@ _0201E04E:
_0201E060:
pop {r3-r7, pc}
nop
_0201E064: .word 0x021C5998
_0201E064: .word UNK_021C5998
thumb_func_start FUN_0201E068
FUN_0201E068: ; 0x0201E068
cmp r1, #0x1
bne _0201E078
ldr r1, _0201E088 ; =0x021C5998
ldr r1, _0201E088 ; =UNK_021C5998
ldr r2, [r1, #0x0]
ldrh r1, [r2, #0x24]
orr r0, r1
@@ -62,7 +64,7 @@ FUN_0201E068: ; 0x0201E068
_0201E078:
cmp r1, #0x2
bne _0201E086
ldr r1, _0201E088 ; =0x021C5998
ldr r1, _0201E088 ; =UNK_021C5998
ldr r2, [r1, #0x0]
ldrh r1, [r2, #0x26]
orr r0, r1
@@ -70,30 +72,30 @@ _0201E078:
_0201E086:
bx lr
.balign 4
_0201E088: .word 0x021C5998
_0201E088: .word UNK_021C5998
thumb_func_start FUN_0201E08C
FUN_0201E08C: ; 0x0201E08C
push {r3, lr}
ldr r0, _0201E0B4 ; =0x021C5998
ldr r0, _0201E0B4 ; =UNK_021C5998
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _0201E0B2
bl FUN_0201E1F0
ldr r0, _0201E0B4 ; =0x021C5998
ldr r0, _0201E0B4 ; =UNK_021C5998
ldr r0, [r0, #0x0]
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _0201E0B4 ; =0x021C5998
ldr r0, _0201E0B4 ; =UNK_021C5998
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _0201E0B4 ; =0x021C5998
ldr r0, _0201E0B4 ; =UNK_021C5998
mov r1, #0x0
str r1, [r0, #0x0]
_0201E0B2:
pop {r3, pc}
.balign 4
_0201E0B4: .word 0x021C5998
_0201E0B4: .word UNK_021C5998
thumb_func_start FUN_0201E0B8
FUN_0201E0B8: ; 0x0201E0B8
@@ -103,7 +105,7 @@ FUN_0201E0B8: ; 0x0201E0B8
thumb_func_start FUN_0201E0BC
FUN_0201E0BC: ; 0x0201E0BC
push {r3, lr}
ldr r0, _0201E0E0 ; =0x021C5998
ldr r0, _0201E0E0 ; =UNK_021C5998
mov r2, #0x0
ldr r1, [r0, #0x0]
str r2, [r1, #0xc]
@@ -114,12 +116,12 @@ FUN_0201E0BC: ; 0x0201E0BC
ldr r0, [r0, #0x0]
str r2, [r0, #0x18]
bl FUN_0201E464
ldr r0, _0201E0E0 ; =0x021C5998
ldr r0, _0201E0E0 ; =UNK_021C5998
ldr r0, [r0, #0x0]
bl FUN_0201E574
pop {r3, pc}
.balign 4
_0201E0E0: .word 0x021C5998
_0201E0E0: .word UNK_021C5998
thumb_func_start FUN_0201E0E4
FUN_0201E0E4: ; 0x0201E0E4
@@ -265,7 +267,7 @@ _0201E1EC:
thumb_func_start FUN_0201E1F0
FUN_0201E1F0: ; 0x0201E1F0
push {r4-r6, lr}
ldr r6, _0201E22C ; =0x021C5998
ldr r6, _0201E22C ; =UNK_021C5998
mov r4, #0x0
ldr r1, [r6, #0x0]
ldr r0, [r1, #0x4]
@@ -295,7 +297,7 @@ _0201E21C:
_0201E228:
pop {r4-r6, pc}
nop
_0201E22C: .word 0x021C5998
_0201E22C: .word UNK_021C5998
thumb_func_start FUN_0201E230
FUN_0201E230: ; 0x0201E230
@@ -440,7 +442,7 @@ FUN_0201E314: ; 0x0201E314
ldr r0, [r0, #0x4]
cmp r0, #0x0
beq _0201E334
ldr r0, _0201E368 ; =0x021C5998
ldr r0, _0201E368 ; =UNK_021C5998
ldr r0, [r0, #0x0]
add r4, r0, #0x0
add r5, r0, #0x0
@@ -450,7 +452,7 @@ FUN_0201E314: ; 0x0201E314
ldr r0, [r0, #0x20]
b _0201E344
_0201E334:
ldr r0, _0201E368 ; =0x021C5998
ldr r0, _0201E368 ; =UNK_021C5998
mov r3, #0x2
ldr r5, [r0, #0x0]
lsl r3, r3, #0x8
@@ -474,7 +476,7 @@ _0201E344:
add sp, #0x4
pop {r3-r6, pc}
nop
_0201E368: .word 0x021C5998
_0201E368: .word UNK_021C5998
thumb_func_start FUN_0201E36C
FUN_0201E36C: ; 0x0201E36C
@@ -490,7 +492,7 @@ _0201E37C:
mov r0, #0x1
tst r0, r1
beq _0201E39E
ldr r0, _0201E3EC ; =0x021C5998
ldr r0, _0201E3EC ; =UNK_021C5998
ldr r1, [r5, #0x8]
ldr r0, [r0, #0x0]
ldrh r0, [r0, #0x24]
@@ -507,7 +509,7 @@ _0201E39E:
mov r0, #0x2
tst r0, r1
beq _0201E3C0
ldr r0, _0201E3EC ; =0x021C5998
ldr r0, _0201E3EC ; =UNK_021C5998
ldr r1, [r5, #0x8]
ldr r0, [r0, #0x0]
ldrh r0, [r0, #0x26]
@@ -543,12 +545,12 @@ _0201E3D4:
mov r0, #0x1
pop {r4-r6, pc}
.balign 4
_0201E3EC: .word 0x021C5998
_0201E3EC: .word UNK_021C5998
thumb_func_start FUN_0201E3F0
FUN_0201E3F0: ; 0x0201E3F0
push {r4-r5}
ldr r2, _0201E424 ; =0x021C5998
ldr r2, _0201E424 ; =UNK_021C5998
mov r1, #0x0
ldr r5, [r2, #0x0]
ldr r2, [r5, #0x4]
@@ -576,12 +578,12 @@ _0201E41C:
pop {r4-r5}
bx lr
nop
_0201E424: .word 0x021C5998
_0201E424: .word UNK_021C5998
thumb_func_start FUN_0201E428
FUN_0201E428: ; 0x0201E428
push {r3-r4}
ldr r1, _0201E460 ; =0x021C5998
ldr r1, _0201E460 ; =UNK_021C5998
mov r0, #0x0
ldr r4, [r1, #0x0]
ldr r1, [r4, #0x4]
@@ -611,7 +613,7 @@ _0201E458:
pop {r3-r4}
bx lr
nop
_0201E460: .word 0x021C5998
_0201E460: .word UNK_021C5998
thumb_func_start FUN_0201E464
FUN_0201E464: ; 0x0201E464
@@ -622,14 +624,14 @@ FUN_0201E464: ; 0x0201E464
cmp r0, #0x40
bne _0201E47E
_0201E472:
ldr r0, _0201E4A8 ; =0x021C5998
ldr r0, _0201E4A8 ; =UNK_021C5998
mov r1, #0x2
ldr r0, [r0, #0x0]
lsl r1, r1, #0xc
str r1, [r0, #0x1c]
b _0201E486
_0201E47E:
ldr r0, _0201E4A8 ; =0x021C5998
ldr r0, _0201E4A8 ; =UNK_021C5998
mov r1, #0x0
ldr r0, [r0, #0x0]
str r1, [r0, #0x1c]
@@ -639,19 +641,19 @@ _0201E486:
lsl r1, r1, #0x8
cmp r0, r1
bne _0201E49C
ldr r0, _0201E4A8 ; =0x021C5998
ldr r0, _0201E4A8 ; =UNK_021C5998
lsl r1, r1, #0x5
ldr r0, [r0, #0x0]
str r1, [r0, #0x20]
pop {r3, pc}
_0201E49C:
ldr r0, _0201E4A8 ; =0x021C5998
ldr r0, _0201E4A8 ; =UNK_021C5998
mov r1, #0x0
ldr r0, [r0, #0x0]
str r1, [r0, #0x20]
pop {r3, pc}
nop
_0201E4A8: .word 0x021C5998
_0201E4A8: .word UNK_021C5998
thumb_func_start FUN_0201E4AC
FUN_0201E4AC: ; 0x0201E4AC
@@ -792,7 +794,7 @@ FUN_0201E57C: ; 0x0201E57C
mov r0, #0x1
tst r0, r1
beq _0201E598
ldr r0, _0201E5B4 ; =0x021C5998
ldr r0, _0201E5B4 ; =UNK_021C5998
ldr r2, [r4, #0x24]
ldr r0, [r0, #0x0]
ldr r1, [r4, #0x8]
@@ -804,7 +806,7 @@ _0201E598:
mov r0, #0x2
tst r0, r1
beq _0201E5B0
ldr r0, _0201E5B4 ; =0x021C5998
ldr r0, _0201E5B4 ; =UNK_021C5998
ldr r2, [r4, #0x28]
ldr r0, [r0, #0x0]
ldr r1, [r4, #0x8]
@@ -814,7 +816,7 @@ _0201E598:
_0201E5B0:
pop {r4, pc}
nop
_0201E5B4: .word 0x021C5998
_0201E5B4: .word UNK_021C5998
thumb_func_start FUN_0201E5B8
FUN_0201E5B8: ; 0x0201E5B8
@@ -824,7 +826,7 @@ FUN_0201E5B8: ; 0x0201E5B8
mov r0, #0x1
tst r0, r1
beq _0201E5D4
ldr r0, _0201E5F0 ; =0x021C5998
ldr r0, _0201E5F0 ; =UNK_021C5998
ldr r2, [r4, #0x24]
ldr r0, [r0, #0x0]
ldr r1, [r4, #0x8]
@@ -836,7 +838,7 @@ _0201E5D4:
mov r0, #0x2
tst r0, r1
beq _0201E5EC
ldr r0, _0201E5F0 ; =0x021C5998
ldr r0, _0201E5F0 ; =UNK_021C5998
ldr r2, [r4, #0x28]
ldr r0, [r0, #0x0]
ldr r1, [r4, #0x8]
@@ -846,7 +848,7 @@ _0201E5D4:
_0201E5EC:
pop {r4, pc}
nop
_0201E5F0: .word 0x021C5998
_0201E5F0: .word UNK_021C5998
thumb_func_start FUN_0201E5F4
FUN_0201E5F4: ; 0x0201E5F4

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern gUnk021C4918
.extern UNK_021C599C
.text
thumb_func_start FUN_0201E66C
@@ -42,29 +45,29 @@ FUN_0201E66C: ; 0x0201E66C
thumb_func_start FUN_0201E6D8
FUN_0201E6D8: ; 0x0201E6D8
ldr r0, _0201E6E0 ; =0x021C599C
ldr r0, _0201E6E0 ; =UNK_021C599C
mov r1, #0x0
str r1, [r0, #0x4]
bx lr
.balign 4
_0201E6E0: .word 0x021C599C
_0201E6E0: .word UNK_021C599C
thumb_func_start FUN_0201E6E4
FUN_0201E6E4: ; 0x0201E6E4
cmp r1, #0x1
bne _0201E6F2
ldr r1, _0201E718 ; =0x021C599C
ldr r1, _0201E718 ; =UNK_021C599C
ldr r1, [r1, #0x4]
tst r1, r0
beq _0201E6FA
bx lr
_0201E6F2:
ldr r1, _0201E718 ; =0x021C599C
ldr r1, _0201E718 ; =UNK_021C599C
ldr r1, [r1, #0x4]
tst r1, r0
beq _0201E714
_0201E6FA:
ldr r1, _0201E718 ; =0x021C599C
ldr r1, _0201E718 ; =UNK_021C599C
ldr r2, [r1, #0x4]
add r3, r2, #0x0
eor r3, r0
@@ -80,12 +83,12 @@ _0201E6FA:
_0201E714:
bx lr
nop
_0201E718: .word 0x021C599C
_0201E718: .word UNK_021C599C
_0201E71C: .word 0xFFFFE0FF
thumb_func_start FUN_0201E720
FUN_0201E720: ; 0x0201E720
ldr r1, _0201E738 ; =0x021C599C
ldr r1, _0201E738 ; =UNK_021C599C
mov r3, #0x1
str r0, [r1, #0x4]
lsl r3, r3, #0x1a
@@ -97,34 +100,34 @@ FUN_0201E720: ; 0x0201E720
str r0, [r3, #0x0]
bx lr
nop
_0201E738: .word 0x021C599C
_0201E738: .word UNK_021C599C
_0201E73C: .word 0xFFFFE0FF
thumb_func_start FUN_0201E740
FUN_0201E740: ; 0x0201E740
ldr r0, _0201E748 ; =0x021C599C
ldr r0, _0201E748 ; =UNK_021C599C
mov r1, #0x0
str r1, [r0, #0x0]
bx lr
.balign 4
_0201E748: .word 0x021C599C
_0201E748: .word UNK_021C599C
thumb_func_start FUN_0201E74C
FUN_0201E74C: ; 0x0201E74C
cmp r1, #0x1
bne _0201E75A
ldr r1, _0201E77C ; =0x021C599C
ldr r1, _0201E77C ; =UNK_021C599C
ldr r1, [r1, #0x0]
tst r1, r0
beq _0201E762
bx lr
_0201E75A:
ldr r1, _0201E77C ; =0x021C599C
ldr r1, _0201E77C ; =UNK_021C599C
ldr r1, [r1, #0x0]
tst r1, r0
beq _0201E77A
_0201E762:
ldr r1, _0201E77C ; =0x021C599C
ldr r1, _0201E77C ; =UNK_021C599C
ldr r2, [r1, #0x0]
add r3, r2, #0x0
eor r3, r0
@@ -139,7 +142,7 @@ _0201E762:
_0201E77A:
bx lr
.balign 4
_0201E77C: .word 0x021C599C
_0201E77C: .word UNK_021C599C
_0201E780: .word 0x04001000
_0201E784: .word 0xFFFFE0FF
@@ -159,7 +162,7 @@ _0201E79C: .word 0x04001000
thumb_func_start FUN_0201E7A0
FUN_0201E7A0: ; 0x0201E7A0
ldr r0, _0201E7C0 ; =0x021C4918
ldr r0, _0201E7C0 ; =gUnk021C4918
ldr r2, _0201E7C4 ; =0x04000304
ldrb r0, [r0, #0x5]
cmp r0, #0x0
@@ -176,14 +179,14 @@ _0201E7B4:
strh r0, [r2, #0x0]
bx lr
nop
_0201E7C0: .word 0x021C4918
_0201E7C0: .word gUnk021C4918
_0201E7C4: .word 0x04000304
_0201E7C8: .word 0xFFFF7FFF
thumb_func_start FUN_0201E7CC
FUN_0201E7CC: ; 0x0201E7CC
ldr r0, _0201E7D4 ; =0x021C599C
ldr r0, _0201E7D4 ; =UNK_021C599C
ldr r0, [r0, #0x4]
bx lr
nop
_0201E7D4: .word 0x021C599C
_0201E7D4: .word UNK_021C599C

View File

@@ -1,6 +1,16 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C59A4
.extern UNK_021CED98
.extern UNK_021CEF64
.extern UNK_021CED20
.extern UNK_020FFA38
.extern UNK_02105BB8
.extern UNK_021CEF58
.extern UNK_021CEF70
.extern UNK_021CED64
.text
thumb_func_start FUN_0201E7D8
@@ -12,7 +22,7 @@ FUN_0201E7D8: ; 0x0201E7D8
ldrh r4, [r5, #0x3c]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _0201E8B4 ; =0x020FFA38
ldr r0, _0201E8B4 ; =UNK_020FFA38
asr r3, r2, #0x1f
ldrsh r0, [r0, r1]
asr r1, r0, #0x1f
@@ -26,7 +36,7 @@ FUN_0201E7D8: ; 0x0201E7D8
lsl r2, r2, #0x1
add r2, r2, #0x1
lsl r3, r2, #0x1
ldr r2, _0201E8B4 ; =0x020FFA38
ldr r2, _0201E8B4 ; =UNK_020FFA38
lsl r1, r1, #0x14
ldrsh r2, [r2, r3]
lsr r0, r0, #0xc
@@ -49,7 +59,7 @@ FUN_0201E7D8: ; 0x0201E7D8
lsl r0, r0, #0x1
add r0, r0, #0x1
lsl r1, r0, #0x1
ldr r0, _0201E8B4 ; =0x020FFA38
ldr r0, _0201E8B4 ; =UNK_020FFA38
asr r3, r2, #0x1f
ldrsh r0, [r0, r1]
asr r1, r0, #0x1f
@@ -66,7 +76,7 @@ FUN_0201E7D8: ; 0x0201E7D8
lsl r2, r2, #0x1
add r2, r2, #0x1
lsl r3, r2, #0x1
ldr r2, _0201E8B4 ; =0x020FFA38
ldr r2, _0201E8B4 ; =UNK_020FFA38
orr r0, r1
ldrsh r2, [r2, r3]
asr r1, r0, #0x1f
@@ -86,7 +96,7 @@ FUN_0201E7D8: ; 0x0201E7D8
str r1, [r5, #0x1c]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _0201E8B4 ; =0x020FFA38
ldr r0, _0201E8B4 ; =UNK_020FFA38
ldr r2, [r5, #0x38]
ldrsh r0, [r0, r1]
asr r3, r2, #0x1f
@@ -109,7 +119,7 @@ FUN_0201E7D8: ; 0x0201E7D8
bl VEC_Add
pop {r3-r5, pc}
nop
_0201E8B4: .word 0x020FFA38
_0201E8B4: .word UNK_020FFA38
thumb_func_start FUN_0201E8B8
FUN_0201E8B8: ; 0x0201E8B8
@@ -120,7 +130,7 @@ FUN_0201E8B8: ; 0x0201E8B8
ldrh r4, [r5, #0x3c]
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _0201E998 ; =0x020FFA38
ldr r0, _0201E998 ; =UNK_020FFA38
asr r3, r2, #0x1f
ldrsh r0, [r0, r1]
asr r1, r0, #0x1f
@@ -134,7 +144,7 @@ FUN_0201E8B8: ; 0x0201E8B8
lsl r2, r2, #0x1
add r2, r2, #0x1
lsl r3, r2, #0x1
ldr r2, _0201E998 ; =0x020FFA38
ldr r2, _0201E998 ; =UNK_020FFA38
lsl r1, r1, #0x14
ldrsh r2, [r2, r3]
lsr r0, r0, #0xc
@@ -158,7 +168,7 @@ FUN_0201E8B8: ; 0x0201E8B8
lsl r0, r0, #0x1
add r0, r0, #0x1
lsl r1, r0, #0x1
ldr r0, _0201E998 ; =0x020FFA38
ldr r0, _0201E998 ; =UNK_020FFA38
asr r3, r2, #0x1f
ldrsh r0, [r0, r1]
asr r1, r0, #0x1f
@@ -175,7 +185,7 @@ FUN_0201E8B8: ; 0x0201E8B8
lsl r2, r2, #0x1
add r2, r2, #0x1
lsl r3, r2, #0x1
ldr r2, _0201E998 ; =0x020FFA38
ldr r2, _0201E998 ; =UNK_020FFA38
orr r0, r1
ldrsh r2, [r2, r3]
asr r1, r0, #0x1f
@@ -196,7 +206,7 @@ FUN_0201E8B8: ; 0x0201E8B8
lsr r0, r0, #0x10
asr r0, r0, #0x4
lsl r1, r0, #0x2
ldr r0, _0201E998 ; =0x020FFA38
ldr r0, _0201E998 ; =UNK_020FFA38
ldr r2, [r5, #0x38]
ldrsh r0, [r0, r1]
asr r3, r2, #0x1f
@@ -220,7 +230,7 @@ FUN_0201E8B8: ; 0x0201E8B8
bl VEC_Add
pop {r3-r5, pc}
.balign 4
_0201E998: .word 0x020FFA38
_0201E998: .word UNK_020FFA38
thumb_func_start FUN_0201E99C
FUN_0201E99C: ; 0x0201E99C
@@ -229,7 +239,7 @@ FUN_0201E99C: ; 0x0201E99C
strh r0, [r2, #0x0]
asr r0, r0, #0x4
lsl r3, r0, #0x1
ldr r2, _0201E9E0 ; =0x020FFA38
ldr r2, _0201E9E0 ; =UNK_020FFA38
lsl r0, r3, #0x1
ldrsh r0, [r2, r0]
str r0, [r1, #0x0]
@@ -258,7 +268,7 @@ FUN_0201E99C: ; 0x0201E99C
str r2, [r1, #0x64]
bx lr
nop
_0201E9E0: .word 0x020FFA38
_0201E9E0: .word UNK_020FFA38
_0201E9E4: .word 0x00001555
thumb_func_start FUN_0201E9E8
@@ -504,26 +514,26 @@ _0201EB80:
thumb_func_start FUN_0201EB8C
FUN_0201EB8C: ; 0x0201EB8C
ldr r1, _0201EB94 ; =0x021C59A4
ldr r1, _0201EB94 ; =UNK_021C59A4
str r0, [r1, #0x0]
bx lr
nop
_0201EB94: .word 0x021C59A4
_0201EB94: .word UNK_021C59A4
thumb_func_start FUN_0201EB98
FUN_0201EB98: ; 0x0201EB98
ldr r0, _0201EBA0 ; =0x021C59A4
ldr r0, _0201EBA0 ; =UNK_021C59A4
mov r1, #0x0
str r1, [r0, #0x0]
bx lr
.balign 4
_0201EBA0: .word 0x021C59A4
_0201EBA0: .word UNK_021C59A4
thumb_func_start FUN_0201EBA4
FUN_0201EBA4: ; 0x0201EBA4
push {r3-r6, lr}
sub sp, #0x1c
ldr r0, _0201EC40 ; =0x021C59A4
ldr r0, _0201EC40 ; =UNK_021C59A4
ldr r1, [r0, #0x0]
cmp r1, #0x0
beq _0201EC3A
@@ -533,20 +543,20 @@ FUN_0201EBA4: ; 0x0201EBA4
add r1, #0x48
add r2, sp, #0x10
bl VEC_Subtract
ldr r0, _0201EC40 ; =0x021C59A4
ldr r0, _0201EC40 ; =UNK_021C59A4
add r1, sp, #0x10
ldr r0, [r0, #0x0]
bl FUN_0201E9E8
ldr r0, _0201EC40 ; =0x021C59A4
ldr r0, _0201EC40 ; =UNK_021C59A4
add r1, sp, #0x10
ldr r0, [r0, #0x0]
add r2, sp, #0x4
bl FUN_0201EA08
ldr r1, _0201EC40 ; =0x021C59A4
ldr r1, _0201EC40 ; =UNK_021C59A4
add r0, sp, #0x4
ldr r1, [r1, #0x0]
bl FUN_0201EF70
ldr r0, _0201EC40 ; =0x021C59A4
ldr r0, _0201EC40 ; =UNK_021C59A4
ldr r3, [r0, #0x0]
ldr r2, [r3, #0x54]
add r3, #0x48
@@ -555,8 +565,8 @@ FUN_0201EBA4: ; 0x0201EBA4
ldr r0, [r2, #0x0]
str r0, [r3, #0x0]
_0201EBEE:
ldr r0, _0201EC40 ; =0x021C59A4
ldr r5, _0201EC44 ; =0x021CEF58
ldr r0, _0201EC40 ; =UNK_021C59A4
ldr r5, _0201EC44 ; =UNK_021CEF58
ldr r4, [r0, #0x0]
add r3, r4, #0x0
add r2, r4, #0x0
@@ -568,26 +578,26 @@ _0201EBEE:
add r2, #0x2c
str r0, [r5, #0x0]
add r6, r2, #0x0
ldr r5, _0201EC48 ; =0x021CEF64
ldr r5, _0201EC48 ; =UNK_021CEF64
ldmia r6!, {r0-r1}
stmia r5!, {r0-r1}
ldr r0, [r6, #0x0]
add r3, #0x20
str r0, [r5, #0x0]
add r6, r3, #0x0
ldr r5, _0201EC4C ; =0x021CEF70
ldr r5, _0201EC4C ; =UNK_021CEF70
ldmia r6!, {r0-r1}
stmia r5!, {r0-r1}
ldr r0, [r6, #0x0]
add r1, r2, #0x0
str r0, [r5, #0x0]
ldr r0, _0201EC50 ; =0x021CED64
ldr r0, _0201EC50 ; =UNK_021CED64
add r2, r3, #0x0
str r0, [sp, #0x0]
add r0, r4, #0x0
mov r3, #0x0
bl G3i_LookAt_
ldr r1, _0201EC54 ; =0x021CED98
ldr r1, _0201EC54 ; =UNK_021CED98
mov r0, #0xe8
ldr r2, [r1, #0x7c]
bic r2, r0
@@ -596,12 +606,12 @@ _0201EC3A:
add sp, #0x1c
pop {r3-r6, pc}
nop
_0201EC40: .word 0x021C59A4
_0201EC44: .word 0x021CEF58
_0201EC48: .word 0x021CEF64
_0201EC4C: .word 0x021CEF70
_0201EC50: .word 0x021CED64
_0201EC54: .word 0x021CED98
_0201EC40: .word UNK_021C59A4
_0201EC44: .word UNK_021CEF58
_0201EC48: .word UNK_021CEF64
_0201EC4C: .word UNK_021CEF70
_0201EC50: .word UNK_021CED64
_0201EC54: .word UNK_021CED98
thumb_func_start FUN_0201EC58
FUN_0201EC58: ; 0x0201EC58
@@ -862,21 +872,21 @@ FUN_0201EE2C: ; 0x0201EE2C
str r0, [sp, #0x4]
mov r0, #0x0
str r0, [sp, #0x8]
ldr r0, _0201EEE4 ; =0x021CED20
ldr r0, _0201EEE4 ; =UNK_021CED20
str r0, [sp, #0xc]
ldr r0, [r5, #0x0]
ldr r1, [r5, #0x4]
ldr r2, [r5, #0x8]
ldr r3, [r5, #0xc]
bl G3i_PerspectiveW_
ldr r1, _0201EEE8 ; =0x021CED98
ldr r1, _0201EEE8 ; =UNK_021CED98
mov r0, #0x50
ldr r2, [r1, #0x7c]
add r5, #0x44
bic r2, r0
str r2, [r1, #0x7c]
mov r1, #0x0
ldr r0, _0201EEEC ; =0x02105BB8
ldr r0, _0201EEEC ; =UNK_02105BB8
strb r1, [r5, #0x0]
str r1, [r0, #0x0]
add sp, #0x14
@@ -919,12 +929,12 @@ _0201EE6C:
lsl r0, r6, #0x1
str r0, [sp, #0x8]
str r2, [sp, #0xc]
ldr r0, _0201EEE4 ; =0x021CED20
ldr r0, _0201EEE4 ; =UNK_021CED20
neg r2, r3
str r0, [sp, #0x10]
add r0, r4, #0x0
bl G3i_OrthoW_
ldr r1, _0201EEE8 ; =0x021CED98
ldr r1, _0201EEE8 ; =UNK_021CED98
mov r0, #0x50
ldr r2, [r1, #0x7c]
add r5, #0x44
@@ -932,15 +942,15 @@ _0201EE6C:
str r2, [r1, #0x7c]
mov r0, #0x1
strb r0, [r5, #0x0]
ldr r0, _0201EEEC ; =0x02105BB8
ldr r0, _0201EEEC ; =UNK_02105BB8
mov r1, #0x0
str r1, [r0, #0x0]
add sp, #0x14
pop {r3-r6, pc}
nop
_0201EEE4: .word 0x021CED20
_0201EEE8: .word 0x021CED98
_0201EEEC: .word 0x02105BB8
_0201EEE4: .word UNK_021CED20
_0201EEE8: .word UNK_021CED98
_0201EEEC: .word UNK_02105BB8
thumb_func_start FUN_0201EEF0
FUN_0201EEF0: ; 0x0201EEF0
@@ -953,7 +963,7 @@ FUN_0201EEF0: ; 0x0201EEF0
ldr r3, _0201EF24 ; =FUN_0201EE2C
asr r0, r0, #0x4
lsl r2, r0, #0x2
ldr r0, _0201EF28 ; =0x020FFA38
ldr r0, _0201EF28 ; =UNK_020FFA38
ldrsh r2, [r0, r2]
str r2, [r1, #0x0]
add r2, r1, #0x0
@@ -971,7 +981,7 @@ FUN_0201EEF0: ; 0x0201EEF0
bx r3
nop
_0201EF24: .word FUN_0201EE2C
_0201EF28: .word 0x020FFA38
_0201EF28: .word UNK_020FFA38
thumb_func_start FUN_0201EF2C
FUN_0201EF2C: ; 0x0201EF2C
@@ -988,7 +998,7 @@ FUN_0201EF2C: ; 0x0201EF2C
ldrh r0, [r0, #0x0]
asr r0, r0, #0x4
lsl r2, r0, #0x2
ldr r0, _0201EF6C ; =0x020FFA38
ldr r0, _0201EF6C ; =UNK_020FFA38
ldrsh r2, [r0, r2]
str r2, [r1, #0x0]
add r2, r1, #0x0
@@ -1006,7 +1016,7 @@ FUN_0201EF2C: ; 0x0201EF2C
bx r3
nop
_0201EF68: .word FUN_0201EE2C
_0201EF6C: .word 0x020FFA38
_0201EF6C: .word UNK_020FFA38
thumb_func_start FUN_0201EF70
FUN_0201EF70: ; 0x0201EF70

View File

@@ -1,6 +1,16 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02105BBC
.extern UNK_021064C0
.extern UNK_020EE660
.extern UNK_021C59A8
.extern UNK_020FFA38
.extern UNK_020EE658
.extern UNK_021064B8
.extern UNK_021064C4
.extern UNK_021064BC
.text
thumb_func_start FUN_0201F06C
@@ -88,7 +98,7 @@ _0201F0B0:
FUN_0201F100: ; 0x0201F100
push {r3-r7, lr}
add r6, r0, #0x0
ldr r0, _0201F13C ; =0x021C59A8
ldr r0, _0201F13C ; =UNK_021C59A8
add r4, r1, #0x0
ldr r0, [r0, #0x0]
cmp r0, #0x0
@@ -99,7 +109,7 @@ _0201F112:
add r0, r4, #0x0
mul r1, r6
bl FUN_02016998
ldr r7, _0201F13C ; =0x021C59A8
ldr r7, _0201F13C ; =UNK_021C59A8
mov r4, #0x0
str r0, [r7, #0x0]
str r6, [r7, #0x4]
@@ -117,12 +127,12 @@ _0201F12A:
_0201F13A:
pop {r3-r7, pc}
.balign 4
_0201F13C: .word 0x021C59A8
_0201F13C: .word UNK_021C59A8
thumb_func_start FUN_0201F140
FUN_0201F140: ; 0x0201F140
push {r4-r6, lr}
ldr r6, _0201F174 ; =0x021C59A8
ldr r6, _0201F174 ; =UNK_021C59A8
mov r4, #0x0
ldr r0, [r6, #0x4]
cmp r0, #0x0
@@ -138,21 +148,21 @@ _0201F14E:
cmp r4, r0
blt _0201F14E
_0201F160:
ldr r0, _0201F174 ; =0x021C59A8
ldr r0, _0201F174 ; =UNK_021C59A8
ldr r0, [r0, #0x0]
bl FUN_02016A18
ldr r0, _0201F174 ; =0x021C59A8
ldr r0, _0201F174 ; =UNK_021C59A8
mov r1, #0x0
str r1, [r0, #0x0]
str r1, [r0, #0x4]
pop {r4-r6, pc}
nop
_0201F174: .word 0x021C59A8
_0201F174: .word UNK_021C59A8
thumb_func_start FUN_0201F178
FUN_0201F178: ; 0x0201F178
push {r3-r7, lr}
ldr r6, _0201F1B0 ; =0x021C59A8
ldr r6, _0201F1B0 ; =UNK_021C59A8
mov r4, #0x0
ldr r0, [r6, #0x4]
cmp r0, #0x0
@@ -182,7 +192,7 @@ _0201F1A2:
_0201F1AC:
pop {r3-r7, pc}
nop
_0201F1B0: .word 0x021C59A8
_0201F1B0: .word UNK_021C59A8
thumb_func_start FUN_0201F1B4
FUN_0201F1B4: ; 0x0201F1B4
@@ -345,7 +355,7 @@ _0201F2E2:
thumb_func_start FUN_0201F2E4
FUN_0201F2E4: ; 0x0201F2E4
push {r3-r4}
ldr r0, _0201F314 ; =0x021C59A8
ldr r0, _0201F314 ; =UNK_021C59A8
mov r1, #0x0
ldr r3, [r0, #0x4]
cmp r3, #0x0
@@ -371,7 +381,7 @@ _0201F30C:
pop {r3-r4}
bx lr
nop
_0201F314: .word 0x021C59A8
_0201F314: .word UNK_021C59A8
thumb_func_start FUN_0201F318
FUN_0201F318: ; 0x0201F318
@@ -552,7 +562,7 @@ FUN_0201F454: ; 0x0201F454
ldr r0, [sp, #0x8]
cmp r0, #0x0
beq _0201F492
ldr r3, _0201F4E4 ; =0x021064B8
ldr r3, _0201F4E4 ; =UNK_021064B8
mov r1, #0x0
ldr r3, [r3, #0x0]
add r2, r1, #0x0
@@ -569,7 +579,7 @@ _0201F496:
ldr r0, [sp, #0x4]
cmp r0, #0x0
beq _0201F4B2
ldr r3, _0201F4E4 ; =0x021064B8
ldr r3, _0201F4E4 ; =UNK_021064B8
mov r1, #0x1
ldr r3, [r3, #0x0]
mov r2, #0x0
@@ -586,7 +596,7 @@ _0201F4B6:
ldr r0, [sp, #0x0]
cmp r0, #0x0
beq _0201F4DA
ldr r3, _0201F4E8 ; =0x021064C0
ldr r3, _0201F4E8 ; =UNK_021064C0
mov r1, #0x2
ldrh r2, [r5, #0x20]
lsl r1, r1, #0xe
@@ -607,8 +617,8 @@ _0201F4DE:
add sp, #0xc
pop {r4-r7, pc}
nop
_0201F4E4: .word 0x021064B8
_0201F4E8: .word 0x021064C0
_0201F4E4: .word UNK_021064B8
_0201F4E8: .word UNK_021064C0
thumb_func_start FUN_0201F4EC
FUN_0201F4EC: ; 0x0201F4EC
@@ -647,28 +657,28 @@ FUN_0201F524: ; 0x0201F524
add r4, r2, #0x0
cmp r0, #0x0
beq _0201F536
ldr r1, _0201F550 ; =0x021064BC
ldr r1, _0201F550 ; =UNK_021064BC
ldr r1, [r1, #0x0]
blx r1
_0201F536:
ldr r0, [r5, #0x0]
cmp r0, #0x0
beq _0201F542
ldr r1, _0201F550 ; =0x021064BC
ldr r1, _0201F550 ; =UNK_021064BC
ldr r1, [r1, #0x0]
blx r1
_0201F542:
ldr r0, [r4, #0x0]
cmp r0, #0x0
beq _0201F54E
ldr r1, _0201F554 ; =0x021064C4
ldr r1, _0201F554 ; =UNK_021064C4
ldr r1, [r1, #0x0]
blx r1
_0201F54E:
pop {r3-r5, pc}
.balign 4
_0201F550: .word 0x021064BC
_0201F554: .word 0x021064C4
_0201F550: .word UNK_021064BC
_0201F554: .word UNK_021064C4
thumb_func_start FUN_0201F558
FUN_0201F558: ; 0x0201F558
@@ -1792,7 +1802,7 @@ _0201FD0C:
add r1, #0x8
str r0, [r4, r1]
ldr r0, [r5, #0x8]
ldr r1, _0201FD54 ; =0x02105BBC
ldr r1, _0201FD54 ; =UNK_02105BBC
bl FUN_020161A4
mov r1, #0x46
lsl r1, r1, #0x2
@@ -1808,7 +1818,7 @@ _0201FD0C:
add r0, r4, #0x0
pop {r3-r5, pc}
nop
_0201FD54: .word 0x02105BBC
_0201FD54: .word UNK_02105BBC
thumb_func_start FUN_0201FD58
FUN_0201FD58: ; 0x0201FD58
@@ -1912,7 +1922,7 @@ _0201FDF6:
add r6, #0x10
cmp r4, r6
beq _0201FE38
ldr r7, _0201FE3C ; =0x020EE658
ldr r7, _0201FE3C ; =UNK_020EE658
_0201FE0E:
add r2, r4, #0x0
add r2, #0x34
@@ -1927,7 +1937,7 @@ _0201FE0E:
ldrb r1, [r1, #0x0]
add r0, r4, #0x0
lsl r2, r1, #0x2
ldr r1, _0201FE40 ; =0x020EE660
ldr r1, _0201FE40 ; =UNK_020EE660
ldr r1, [r1, r2]
blx r1
mov r0, #0x1
@@ -1938,8 +1948,8 @@ _0201FE0E:
_0201FE38:
pop {r3-r7, pc}
nop
_0201FE3C: .word 0x020EE658
_0201FE40: .word 0x020EE660
_0201FE3C: .word UNK_020EE658
_0201FE40: .word UNK_020EE660
thumb_func_start FUN_0201FE44
FUN_0201FE44: ; 0x0201FE44
@@ -3143,7 +3153,7 @@ _0202068E:
ldr r2, [r4, #0x20]
bl FUN_020B28B4
ldrh r0, [r4, #0x24]
ldr r2, _02020770 ; =0x020FFA38
ldr r2, _02020770 ; =UNK_020FFA38
asr r0, r0, #0x4
lsl r1, r0, #0x1
lsl r0, r1, #0x1
@@ -3234,7 +3244,7 @@ _02020764:
add sp, #0xc
pop {r3-r6, pc}
.balign 4
_02020770: .word 0x020FFA38
_02020770: .word UNK_020FFA38
thumb_func_start FUN_02020774
FUN_02020774: ; 0x02020774

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C48F8
.text
thumb_func_start FUN_020208B8
@@ -116,7 +118,7 @@ _02020960:
thumb_func_start FUN_02020968
FUN_02020968: ; 0x02020968
push {r3, lr}
ldr r2, _02020984 ; =0x021C48F8
ldr r2, _02020984 ; =UNK_021C48F8
ldrh r1, [r2, #0x22]
cmp r1, #0x0
beq _0202097C
@@ -129,12 +131,12 @@ _0202097C:
mvn r0, r0
pop {r3, pc}
nop
_02020984: .word 0x021C48F8
_02020984: .word UNK_021C48F8
thumb_func_start FUN_02020988
FUN_02020988: ; 0x02020988
push {r3, lr}
ldr r2, _020209A4 ; =0x021C48F8
ldr r2, _020209A4 ; =UNK_021C48F8
ldrh r1, [r2, #0x20]
cmp r1, #0x0
beq _0202099C
@@ -147,12 +149,12 @@ _0202099C:
mvn r0, r0
pop {r3, pc}
nop
_020209A4: .word 0x021C48F8
_020209A4: .word UNK_021C48F8
thumb_func_start FUN_020209A8
FUN_020209A8: ; 0x020209A8
push {r3-r7, lr}
ldr r7, _020209F0 ; =0x021C48F8
ldr r7, _020209F0 ; =UNK_021C48F8
add r5, r0, #0x0
ldrh r0, [r7, #0x22]
cmp r0, #0x0
@@ -190,12 +192,12 @@ _020209EA:
mvn r0, r0
pop {r3-r7, pc}
.balign 4
_020209F0: .word 0x021C48F8
_020209F0: .word UNK_021C48F8
thumb_func_start FUN_020209F4
FUN_020209F4: ; 0x020209F4
push {r3-r7, lr}
ldr r7, _02020A3C ; =0x021C48F8
ldr r7, _02020A3C ; =UNK_021C48F8
add r5, r0, #0x0
ldrh r0, [r7, #0x20]
cmp r0, #0x0
@@ -233,12 +235,12 @@ _02020A36:
mvn r0, r0
pop {r3-r7, pc}
.balign 4
_02020A3C: .word 0x021C48F8
_02020A3C: .word UNK_021C48F8
thumb_func_start FUN_02020A40
FUN_02020A40: ; 0x02020A40
push {r3, lr}
ldr r2, _02020A68 ; =0x021C48F8
ldr r2, _02020A68 ; =UNK_021C48F8
ldrh r1, [r2, #0x22]
cmp r1, #0x0
beq _02020A62
@@ -257,12 +259,12 @@ _02020A62:
mov r0, #0x0
pop {r3, pc}
nop
_02020A68: .word 0x021C48F8
_02020A68: .word UNK_021C48F8
thumb_func_start FUN_02020A6C
FUN_02020A6C: ; 0x02020A6C
push {r3, lr}
ldr r2, _02020A94 ; =0x021C48F8
ldr r2, _02020A94 ; =UNK_021C48F8
ldrh r1, [r2, #0x20]
cmp r1, #0x0
beq _02020A8E
@@ -281,27 +283,27 @@ _02020A8E:
mov r0, #0x0
pop {r3, pc}
nop
_02020A94: .word 0x021C48F8
_02020A94: .word UNK_021C48F8
thumb_func_start FUN_02020A98
FUN_02020A98: ; 0x02020A98
ldr r0, _02020AA0 ; =0x021C48F8
ldr r0, _02020AA0 ; =UNK_021C48F8
ldrh r0, [r0, #0x22]
bx lr
nop
_02020AA0: .word 0x021C48F8
_02020AA0: .word UNK_021C48F8
thumb_func_start FUN_02020AA4
FUN_02020AA4: ; 0x02020AA4
ldr r0, _02020AAC ; =0x021C48F8
ldr r0, _02020AAC ; =UNK_021C48F8
ldrh r0, [r0, #0x20]
bx lr
nop
_02020AAC: .word 0x021C48F8
_02020AAC: .word UNK_021C48F8
thumb_func_start FUN_02020AB0
FUN_02020AB0: ; 0x02020AB0
ldr r2, _02020AC8 ; =0x021C48F8
ldr r2, _02020AC8 ; =UNK_021C48F8
ldrh r3, [r2, #0x22]
cmp r3, #0x0
beq _02020AC4
@@ -315,11 +317,11 @@ _02020AC4:
mov r0, #0x0
bx lr
.balign 4
_02020AC8: .word 0x021C48F8
_02020AC8: .word UNK_021C48F8
thumb_func_start FUN_02020ACC
FUN_02020ACC: ; 0x02020ACC
ldr r2, _02020AE4 ; =0x021C48F8
ldr r2, _02020AE4 ; =UNK_021C48F8
ldrh r3, [r2, #0x20]
cmp r3, #0x0
beq _02020AE0
@@ -333,7 +335,7 @@ _02020AE0:
mov r0, #0x0
bx lr
.balign 4
_02020AE4: .word 0x021C48F8
_02020AE4: .word UNK_021C48F8
thumb_func_start FUN_02020AE8
FUN_02020AE8: ; 0x02020AE8

View File

@@ -1,12 +1,14 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C59B0
.text
thumb_func_start FUN_02020AFC
FUN_02020AFC: ; 0x02020AFC
push {r3, lr}
ldr r0, _02020B24 ; =0x021C59B0
ldr r0, _02020B24 ; =UNK_021C59B0
mov r2, #0x0
str r2, [r0, #0x4]
str r2, [r0, #0x8]
@@ -24,13 +26,13 @@ FUN_02020AFC: ; 0x02020AFC
bl OS_EnableIrqMask
pop {r3, pc}
.balign 4
_02020B24: .word 0x021C59B0
_02020B24: .word UNK_021C59B0
_02020B28: .word 0x0400010E
_02020B2C: .word FUN_02020B30
thumb_func_start FUN_02020B30
FUN_02020B30: ; 0x02020B30
ldr r0, _02020B68 ; =0x021C59B0
ldr r0, _02020B68 ; =UNK_021C59B0
mov r3, #0x0
ldr r1, [r0, #0x4]
ldr r2, [r0, #0x8]
@@ -59,7 +61,7 @@ _02020B54:
ldr r1, _02020B7C ; =FUN_02020B30
bx r3
nop
_02020B68: .word 0x021C59B0
_02020B68: .word UNK_021C59B0
_02020B6C: .word 0x0400010E
_02020B70: .word 0x027E0000
_02020B74: .word 0x00003FF8
@@ -76,7 +78,7 @@ FUN_02020B80: ; 0x02020B80
ldrh r1, [r1, #0x0]
ldr r2, _02020BE8 ; =0x0000FFFF
strh r1, [r3, #0x0]
ldr r1, _02020BEC ; =0x021C59B0
ldr r1, _02020BEC ; =UNK_021C59B0
ldr r5, [r1, #0x4]
ldr r4, [r1, #0x8]
mov r1, #0x0
@@ -120,7 +122,7 @@ _02020BC4:
.balign 4
_02020BE4: .word 0x0400010C
_02020BE8: .word 0x0000FFFF
_02020BEC: .word 0x021C59B0
_02020BEC: .word UNK_021C59B0
_02020BF0: .word 0x04000214
thumb_func_start FUN_02020BF4

View File

@@ -1,6 +1,11 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021064B8
.extern UNK_021064C0
.extern UNK_021064C4
.extern UNK_021064BC
.text
thumb_func_start FUN_02020C44
@@ -483,7 +488,7 @@ _02020FA4:
ldr r0, [r4, #0x4]
cmp r0, #0x0
beq _02020FB8
ldr r1, _02020FE8 ; =0x021064BC
ldr r1, _02020FE8 ; =UNK_021064BC
ldr r1, [r1, #0x0]
blx r1
cmp r0, #0x0
@@ -493,7 +498,7 @@ _02020FB8:
ldr r0, [r4, #0x8]
cmp r0, #0x0
beq _02020FCC
ldr r1, _02020FE8 ; =0x021064BC
ldr r1, _02020FE8 ; =UNK_021064BC
ldr r1, [r1, #0x0]
blx r1
cmp r0, #0x0
@@ -503,7 +508,7 @@ _02020FCC:
ldr r0, [r4, #0xc]
cmp r0, #0x0
beq _02020FE0
ldr r1, _02020FEC ; =0x021064C4
ldr r1, _02020FEC ; =UNK_021064C4
ldr r1, [r1, #0x0]
blx r1
cmp r0, #0x0
@@ -514,8 +519,8 @@ _02020FE0:
bl FUN_0202120C
pop {r3-r5, pc}
.balign 4
_02020FE8: .word 0x021064BC
_02020FEC: .word 0x021064C4
_02020FE8: .word UNK_021064BC
_02020FEC: .word UNK_021064C4
thumb_func_start FUN_02020FF0
FUN_02020FF0: ; 0x02020FF0
@@ -874,7 +879,7 @@ FUN_02021248: ; 0x02021248
add r4, r0, #0x0
cmp r7, #0x0
beq _0202127E
ldr r3, _020212B0 ; =0x021064B8
ldr r3, _020212B0 ; =UNK_021064B8
mov r1, #0x0
ldr r3, [r3, #0x0]
add r0, r7, #0x0
@@ -885,7 +890,7 @@ FUN_02021248: ; 0x02021248
_0202127E:
cmp r6, #0x0
beq _02021292
ldr r3, _020212B0 ; =0x021064B8
ldr r3, _020212B0 ; =UNK_021064B8
add r0, r6, #0x0
ldr r3, [r3, #0x0]
mov r1, #0x1
@@ -896,7 +901,7 @@ _0202127E:
_02021292:
cmp r4, #0x0
beq _020212AC
ldr r3, _020212B4 ; =0x021064C0
ldr r3, _020212B4 ; =UNK_021064C0
mov r1, #0x2
ldrh r2, [r5, #0x20]
lsl r1, r1, #0xe
@@ -911,8 +916,8 @@ _020212AC:
add sp, #0xc
pop {r4-r7, pc}
.balign 4
_020212B0: .word 0x021064B8
_020212B4: .word 0x021064C0
_020212B0: .word UNK_021064B8
_020212B4: .word UNK_021064C0
thumb_func_start FUN_020212B8
FUN_020212B8: ; 0x020212B8

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EE66C
.extern UNK_020EE674
.extern UNK_020EE668
.text
thumb_func_start FUN_02021590
@@ -126,7 +130,7 @@ _02021678:
add r0, r5, #0x0
add r0, #0x6a
ldrb r0, [r0, #0x0]
ldr r2, _020216B4 ; =0x020EE668
ldr r2, _020216B4 ; =UNK_020EE668
sub r0, r0, #0x1
lsl r3, r0, #0x1
add r0, r5, #0x0
@@ -152,7 +156,7 @@ _020216A6:
nop
_020216AC: .word FUN_0202192C
_020216B0: .word FUN_02021924
_020216B4: .word 0x020EE668
_020216B4: .word UNK_020EE668
thumb_func_start FUN_020216B8
FUN_020216B8: ; 0x020216B8
@@ -177,13 +181,13 @@ FUN_020216D4: ; 0x020216D4
add r3, r1, #0x0
add r1, r2, #0x0
str r3, [r0, #0x0]
ldr r2, _020216E8 ; =0x020EE66C
ldr r2, _020216E8 ; =UNK_020EE66C
lsl r3, r3, #0x2
ldr r2, [r2, r3]
blx r2
pop {r3, pc}
nop
_020216E8: .word 0x020EE66C
_020216E8: .word UNK_020EE66C
thumb_func_start FUN_020216EC
FUN_020216EC: ; 0x020216EC
@@ -223,12 +227,12 @@ FUN_02021728: ; 0x02021728
push {r3, lr}
ldr r1, [r0, #0x0]
lsl r2, r1, #0x2
ldr r1, _02021738 ; =0x020EE674
ldr r1, _02021738 ; =UNK_020EE674
ldr r1, [r1, r2]
blx r1
pop {r3, pc}
nop
_02021738: .word 0x020EE674
_02021738: .word UNK_020EE674
thumb_func_start FUN_0202173C
FUN_0202173C: ; 0x0202173C

View File

@@ -1,6 +1,10 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EE6A0
.extern UNK_020EE67C
.extern UNK_020EE690
.text
thumb_func_start FUN_02021934
@@ -287,11 +291,11 @@ _02021B32:
ldr r0, [sp, #0x20]
cmp r0, #0x0
bne _02021B48
ldr r0, _02021C20 ; =0x020EE67C
ldr r0, _02021C20 ; =UNK_020EE67C
str r0, [sp, #0x4]
b _02021B4C
_02021B48:
ldr r0, _02021C24 ; =0x020EE690
ldr r0, _02021C24 ; =UNK_020EE690
str r0, [sp, #0x4]
_02021B4C:
add r0, r5, #0x0
@@ -318,7 +322,7 @@ _02021B68:
_02021B74:
ldr r0, [sp, #0x0]
lsl r1, r0, #0x2
ldr r0, _02021C2C ; =0x020EE6A0
ldr r0, _02021C2C ; =UNK_020EE6A0
ldr r4, [r0, r1]
cmp r4, #0x0
beq _02021C06
@@ -412,10 +416,10 @@ _02021C14:
pop {r3-r7, pc}
.balign 4
_02021C1C: .word 0xB6F8D2EC
_02021C20: .word 0x020EE67C
_02021C24: .word 0x020EE690
_02021C20: .word UNK_020EE67C
_02021C24: .word UNK_020EE690
_02021C28: .word 0x000001BE
_02021C2C: .word 0x020EE6A0
_02021C2C: .word UNK_020EE6A0
_02021C30: .word 0x000001E2
_02021C34: .word 0x0000FFFF

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EE6CC
.text
thumb_func_start FUN_02022030
@@ -223,7 +225,7 @@ _020221B6:
ldrb r3, [r3, r7]
ldr r2, [sp, #0x4]
lsl r6, r3, #0x2
ldr r3, _020221E8 ; =0x020EE6CC
ldr r3, _020221E8 ; =UNK_020EE6CC
ldr r3, [r3, r6]
blx r3
add r1, r0, #0x0
@@ -245,7 +247,7 @@ _020221E4:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_020221E8: .word 0x020EE6CC
_020221E8: .word UNK_020EE6CC
thumb_func_start FUN_020221EC
FUN_020221EC: ; 0x020221EC

View File

@@ -1,21 +1,23 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_021C59BC
.text
thumb_func_start FUN_02022294
FUN_02022294: ; 0x02022294
ldr r0, _020222A4 ; =0x021C59BC
ldr r0, _020222A4 ; =UNK_021C59BC
mov r1, #0x0
str r1, [r0, #0x0]
str r1, [r0, #0x4]
str r1, [r0, #0x8]
ldr r0, _020222A8 ; =0x021C59BC
ldr r0, _020222A8 ; =UNK_021C59BC
str r1, [r0, #0x0]
bx lr
.balign 4
_020222A4: .word 0x021C59BC
_020222A8: .word 0x021C59BC
_020222A4: .word UNK_021C59BC
_020222A8: .word UNK_021C59BC
thumb_func_start FUN_020222AC
FUN_020222AC: ; 0x020222AC
@@ -26,18 +28,18 @@ _020222B0: .word G3X_ResetMtxStack
thumb_func_start FUN_020222B4
FUN_020222B4: ; 0x020222B4
ldr r2, _020222C0 ; =0x021C59BC
ldr r2, _020222C0 ; =UNK_021C59BC
str r0, [r2, #0x4]
str r1, [r2, #0x8]
mov r0, #0x1
str r0, [r2, #0x0]
bx lr
.balign 4
_020222C0: .word 0x021C59BC
_020222C0: .word UNK_021C59BC
thumb_func_start FUN_020222C4
FUN_020222C4: ; 0x020222C4
ldr r0, _020222E0 ; =0x021C59BC
ldr r0, _020222E0 ; =UNK_021C59BC
ldr r1, [r0, #0x0]
cmp r1, #0x0
beq _020222DC
@@ -52,5 +54,5 @@ FUN_020222C4: ; 0x020222C4
_020222DC:
bx lr
nop
_020222E0: .word 0x021C59BC
_020222E0: .word UNK_021C59BC
_020222E4: .word 0x04000540

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EE6D4
.text
thumb_func_start FUN_02022450
@@ -31,7 +33,7 @@ _02022460:
ldr r0, _020224BC ; =0x027FF00C
str r1, [r0, #0x0]
_0202248A:
ldr r0, _020224D0 ; =0x020EE6D4
ldr r0, _020224D0 ; =UNK_020EE6D4
mov r1, #0x3
bl FS_FindArchive
ldr r1, _020224C4 ; =0x027FF000
@@ -61,7 +63,7 @@ _020224C0: .word 0x027FFE00
_020224C4: .word 0x027FF000
_020224C8: .word 0x027FFA80
_020224CC: .word 0x4A414441
_020224D0: .word 0x020EE6D4
_020224D0: .word UNK_020EE6D4
_020224D4: .word 0x00003130
thumb_func_start FUN_020224D8

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_02105BD4
.text
thumb_func_start FUN_02023AC4
@@ -191,7 +193,7 @@ FUN_02023BE8: ; 0x02023BE8
push {r3, lr}
cmp r1, #0x5
bhs _02023BF6
ldr r2, _02023C00 ; =0x02105BD4
ldr r2, _02023C00 ; =UNK_02105BD4
lsl r0, r1, #0x5
add r0, r2, r0
pop {r3, pc}
@@ -200,7 +202,7 @@ _02023BF6:
bl FUN_02022610
pop {r3, pc}
nop
_02023C00: .word 0x02105BD4
_02023C00: .word UNK_02105BD4
thumb_func_start FUN_02023C04
FUN_02023C04: ; 0x02023C04

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020EE942
.text
thumb_func_start FUN_02023C40
@@ -1032,7 +1034,7 @@ _0202433C:
FUN_02024340: ; 0x02024340
push {r4-r5}
mov r3, #0x0
ldr r5, _02024360 ; =0x020EE942
ldr r5, _02024360 ; =UNK_020EE942
mov r4, #0x1
add r1, r3, #0x0
_0202434A:
@@ -1049,7 +1051,7 @@ _02024352:
pop {r4-r5}
bx lr
.balign 4
_02024360: .word 0x020EE942
_02024360: .word UNK_020EE942
thumb_func_start FUN_02024364
FUN_02024364: ; 0x02024364

View File

@@ -1,6 +1,8 @@
.include "asm/macros.inc"
.include "global.inc"
.extern gUnknown21C48B8
.text
thumb_func_start FUN_02024F30
@@ -77,22 +79,22 @@ _02024FAC:
beq _02024FC2
b _02024FCA
_02024FBA:
ldr r0, _02024FD4 ; =0x021C48B8
ldr r0, _02024FD4 ; =gUnknown21C48B8
mov r1, #0x1
str r1, [r0, #0x34]
pop {r3, pc}
_02024FC2:
ldr r0, _02024FD4 ; =0x021C48B8
ldr r0, _02024FD4 ; =gUnknown21C48B8
mov r1, #0x3
str r1, [r0, #0x34]
pop {r3, pc}
_02024FCA:
ldr r0, _02024FD4 ; =0x021C48B8
ldr r0, _02024FD4 ; =gUnknown21C48B8
mov r1, #0x0
str r1, [r0, #0x34]
pop {r3, pc}
nop
_02024FD4: .word 0x021C48B8
_02024FD4: .word gUnknown21C48B8
thumb_func_start FUN_02024FD8
FUN_02024FD8: ; 0x02024FD8

View File

@@ -1,6 +1,9 @@
.include "asm/macros.inc"
.include "global.inc"
.extern UNK_020ECAC4
.extern UNK_020ECAC0
.text
thumb_func_start FUN_02025658
@@ -10,11 +13,11 @@ FUN_02025658: ; 0x02025658
mov r0, #0x0
str r0, [r4, #0x0]
strb r0, [r4, #0x4]
ldr r0, _020256A0 ; =0x020ECAC4
ldr r0, _020256A0 ; =UNK_020ECAC4
mov r1, #0x8
ldrb r0, [r0, #0x0]
strb r0, [r4, #0x5]
ldr r0, _020256A4 ; =0x020ECAC0
ldr r0, _020256A4 ; =UNK_020ECAC0
ldrb r0, [r0, #0x0]
strb r0, [r4, #0x6]
mov r0, #0xff
@@ -42,8 +45,8 @@ _02025690:
blt _02025690
pop {r3-r5, pc}
.balign 4
_020256A0: .word 0x020ECAC4
_020256A4: .word 0x020ECAC0
_020256A0: .word UNK_020ECAC4
_020256A4: .word UNK_020ECAC0
_020256A8: .word 0x0000FFFF
thumb_func_start FUN_020256AC

Some files were not shown because too many files have changed in this diff Show More