summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/asm/GX_load2d.s1116
-rw-r--r--arm9/lib/include/gx.h37
-rw-r--r--arm9/lib/src/GX_load2d.c267
-rw-r--r--arm9/undefined_syms.txt8
4 files changed, 312 insertions, 1116 deletions
diff --git a/arm9/asm/GX_load2d.s b/arm9/asm/GX_load2d.s
deleted file mode 100644
index 3d48c5d2..00000000
--- a/arm9/asm/GX_load2d.s
+++ /dev/null
@@ -1,1116 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start GXS_EndLoadOBJExtPltt
-GXS_EndLoadOBJExtPltt: ; 0x020C8728
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C876C ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C8748
- bl MI_WaitDma
-_020C8748:
- ldr r0, _020C8770 ; =0x021D33F8
- ldr r0, [r0, #0x0]
- bl GX_SetBankForSubOBJExtPltt
- ldr r0, _020C8770 ; =0x021D33F8
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C876C: .word 0x02106814
-_020C8770: .word 0x021D33F8
-
- arm_func_start GXS_LoadOBJExtPltt
-GXS_LoadOBJExtPltt: ; 0x020C8774
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr r3, _020C87E0 ; =0x02106814
- mvn r12, #0x0
- ldr lr, [r3, #0x0]
- mov r5, r0
- mov r4, r1
- mov r3, r2
- cmp lr, r12
- beq _020C87C8
- ldr r2, _020C87E4 ; =0x068A0000
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r5
- add r2, r4, r2
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C87C8:
- ldr r1, _020C87E4 ; =0x068A0000
- add r1, r4, r1
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C87E0: .word 0x02106814
-_020C87E4: .word 0x068A0000
-
- arm_func_start GXS_BeginLoadOBJExtPltt
-GXS_BeginLoadOBJExtPltt: ; 0x020C87E8
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForSubOBJ
- ldr r1, _020C8808 ; =0x021D33F8
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8808: .word 0x021D33F8
-
- arm_func_start GXS_EndLoadBGExtPltt
-GXS_EndLoadBGExtPltt: ; 0x020C880C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C8850 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C882C
- bl MI_WaitDma
-_020C882C:
- ldr r0, _020C8854 ; =0x021D33E0
- ldr r0, [r0, #0x0]
- bl GX_SetBankForSubBGExtPltt
- ldr r0, _020C8854 ; =0x021D33E0
- mov r1, #0x0
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8850: .word 0x02106814
-_020C8854: .word 0x021D33E0
-
- arm_func_start GXS_LoadBGExtPltt
-GXS_LoadBGExtPltt: ; 0x020C8858
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr r3, _020C88C4 ; =0x02106814
- mvn r12, #0x0
- ldr lr, [r3, #0x0]
- mov r5, r0
- mov r4, r1
- mov r3, r2
- cmp lr, r12
- beq _020C88AC
- ldr r2, _020C88C8 ; =0x06898000
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r5
- add r2, r4, r2
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C88AC:
- ldr r1, _020C88C8 ; =0x06898000
- add r1, r4, r1
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C88C4: .word 0x02106814
-_020C88C8: .word 0x06898000
-
- arm_func_start GXS_BeginLoadBGExtPltt
-GXS_BeginLoadBGExtPltt: ; 0x020C88CC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl FUN_020C6034
- ldr r1, _020C88EC ; =0x021D33E0
- str r0, [r1, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C88EC: .word 0x021D33E0
-
- arm_func_start GX_EndLoadOBJExtPltt
-GX_EndLoadOBJExtPltt: ; 0x020C88F0
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C893C ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C8910
- bl MI_WaitDma
-_020C8910:
- ldr r0, _020C8940 ; =0x021D33E8
- ldr r0, [r0, #0x0]
- bl GX_SetBankForOBJExtPltt
- ldr r1, _020C8940 ; =0x021D33E8
- mov r2, #0x0
- ldr r0, _020C8944 ; =0x021D33E4
- str r2, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C893C: .word 0x02106814
-_020C8940: .word 0x021D33E8
-_020C8944: .word 0x021D33E4
-
- arm_func_start GX_LoadOBJExtPltt
-GX_LoadOBJExtPltt: ; 0x020C8948
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr ip, _020C89B4 ; =0x021D33E4
- ldr r3, _020C89B8 ; =0x02106814
- ldr r4, [r12, #0x0]
- ldr lr, [r3, #0x0]
- mvn r12, #0x0
- mov r5, r0
- mov r3, r2
- cmp lr, r12
- add r4, r4, r1
- beq _020C89A0
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r1, r5
- mov r2, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C89A0:
- mov r1, r4
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C89B4: .word 0x021D33E4
-_020C89B8: .word 0x02106814
-
- arm_func_start GX_BeginLoadOBJExtPltt
-GX_BeginLoadOBJExtPltt: ; 0x020C89BC
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForOBJExtPltt
- ldr r1, _020C8A1C ; =0x021D33E8
- cmp r0, #0x0
- str r0, [r1, #0x0]
- addeq sp, sp, #0x4
- ldmeqia sp!, {lr}
- bxeq lr
- cmp r0, #0x20
- beq _020C8A04
- cmp r0, #0x40
- ldreq r1, _020C8A20 ; =0x06894000
- ldreq r0, _020C8A24 ; =0x021D33E4
- add sp, sp, #0x4
- streq r1, [r0, #0x0]
- ldmia sp!, {lr}
- bx lr
-_020C8A04:
- ldr r1, _020C8A28 ; =0x06890000
- ldr r0, _020C8A24 ; =0x021D33E4
- str r1, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8A1C: .word 0x021D33E8
-_020C8A20: .word 0x06894000
-_020C8A24: .word 0x021D33E4
-_020C8A28: .word 0x06890000
-
- arm_func_start GX_EndLoadBGExtPltt
-GX_EndLoadBGExtPltt: ; 0x020C8A2C
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- ldr r0, _020C8A80 ; =0x02106814
- mvn r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, r1
- beq _020C8A4C
- bl MI_WaitDma
-_020C8A4C:
- ldr r0, _020C8A84 ; =0x021D33F4
- ldr r0, [r0, #0x0]
- bl GX_SetBankForBGExtPltt
- ldr r2, _020C8A84 ; =0x021D33F4
- mov r3, #0x0
- ldr r1, _020C8A88 ; =0x021D33F0
- ldr r0, _020C8A8C ; =0x021D33EC
- str r3, [r2, #0x0]
- str r3, [r1, #0x0]
- str r3, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8A80: .word 0x02106814
-_020C8A84: .word 0x021D33F4
-_020C8A88: .word 0x021D33F0
-_020C8A8C: .word 0x021D33EC
-
- arm_func_start GX_LoadBGExtPltt
-GX_LoadBGExtPltt: ; 0x020C8A90
- stmdb sp!, {r4-r5,lr}
- sub sp, sp, #0xc
- ldr lr, _020C8B04 ; =0x021D33F0
- ldr ip, _020C8B08 ; =0x021D33EC
- ldr r3, _020C8B0C ; =0x02106814
- ldr lr, [lr, #0x0]
- ldr r4, [r12, #0x0]
- add r5, lr, r1
- ldr lr, [r3, #0x0]
- mvn r12, #0x0
- mov r1, r0
- mov r3, r2
- cmp lr, r12
- sub r4, r5, r4
- beq _020C8AF0
- mov r12, #0x0
- str r12, [sp, #0x0]
- mov r0, lr
- mov r2, r4
- str r12, [sp, #0x4]
- bl MI_DmaCopy32Async
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
-_020C8AF0:
- mov r1, r4
- bl MIi_CpuCopy32
- add sp, sp, #0xc
- ldmia sp!, {r4-r5,lr}
- bx lr
- .balign 4
-_020C8B04: .word 0x021D33F0
-_020C8B08: .word 0x021D33EC
-_020C8B0C: .word 0x02106814
-
- arm_func_start GX_BeginLoadBGExtPltt
-GX_BeginLoadBGExtPltt: ; 0x020C8B10
- stmdb sp!, {lr}
- sub sp, sp, #0x4
- bl GX_ResetBankForBGExtPltt
- ldr r1, _020C8BFC ; =0x021D33F4
- cmp r0, #0x20
- str r0, [r1, #0x0]
- bgt _020C8B60
- cmp r0, #0x20
- bge _020C8BD8
- cmp r0, #0x0
- bgt _020C8B4C
- add sp, sp, #0x4
- cmp r0, #0x0
- ldmia sp!, {lr}
- bx lr
-_020C8B4C:
- cmp r0, #0x10
- beq _020C8B90
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8B60:
- cmp r0, #0x40
- bgt _020C8B7C
- cmp r0, #0x40
- beq _020C8BB4
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8B7C:
- cmp r0, #0x60
- beq _020C8BD8
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8B90:
- ldr r3, _020C8C00 ; =0x06880000
- ldr r1, _020C8C04 ; =0x021D33F0
- ldr r0, _020C8C08 ; =0x021D33EC
- mov r2, #0x0
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8BB4:
- ldr r3, _020C8C0C ; =0x06894000
- ldr r1, _020C8C04 ; =0x021D33F0
- ldr r0, _020C8C08 ; =0x021D33EC
- mov r2, #0x4000
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
-_020C8BD8:
- ldr r3, _020C8C10 ; =0x06890000
- ldr r1, _020C8C04 ; =0x021D33F0
- ldr r0, _020C8C08 ; =0x021D33EC
- mov r2, #0x0
- str r3, [r1, #0x0]
- str r2, [r0, #0x0]
- add sp, sp, #0x4
- ldmia sp!, {lr}
- bx lr
- .balign 4
-_020C8BFC: .word 0x021D33F4
-_020C8C00: .word 0x06880000
-_020C8C04: .word 0x021D33F0
-_020C8C08: .word 0x021D33EC
-_020C8C0C: .word 0x06894000
-_020C8C10: .word 0x06890000
-
- arm_func_start GXS_LoadBG3Char
-GXS_LoadBG3Char: ; 0x020C8C14
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG3CharPtr
- ldr r1, _020C8C78 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8C60
- cmp r4, #0x30
- bls _020C8C60
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8C60:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8C78: .word 0x02106814
-
- arm_func_start GX_LoadBG3Char
-GX_LoadBG3Char: ; 0x020C8C7C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG3CharPtr
- ldr r1, _020C8CE0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8CC8
- cmp r4, #0x30
- bls _020C8CC8
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8CC8:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8CE0: .word 0x02106814
-
- arm_func_start GXS_LoadBG2Char
-GXS_LoadBG2Char: ; 0x020C8CE4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG2CharPtr
- ldr r1, _020C8D48 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8D30
- cmp r4, #0x30
- bls _020C8D30
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8D30:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8D48: .word 0x02106814
-
- arm_func_start GX_LoadBG2Char
-GX_LoadBG2Char: ; 0x020C8D4C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG2CharPtr
- ldr r1, _020C8DB0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8D98
- cmp r4, #0x30
- bls _020C8D98
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8D98:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8DB0: .word 0x02106814
-
- arm_func_start GXS_LoadBG1Char
-GXS_LoadBG1Char: ; 0x020C8DB4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG1CharPtr
- ldr r1, _020C8E18 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8E00
- cmp r4, #0x30
- bls _020C8E00
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8E00:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8E18: .word 0x02106814
-
- arm_func_start GX_LoadBG1Char
-GX_LoadBG1Char: ; 0x020C8E1C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG1CharPtr
- ldr r1, _020C8E80 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8E68
- cmp r4, #0x30
- bls _020C8E68
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8E68:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8E80: .word 0x02106814
-
- arm_func_start GXS_LoadBG0Char
-GXS_LoadBG0Char: ; 0x020C8E84
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG0CharPtr
- ldr r1, _020C8EE8 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8ED0
- cmp r4, #0x30
- bls _020C8ED0
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8ED0:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8EE8: .word 0x02106814
-
- arm_func_start GX_LoadBG0Char
-GX_LoadBG0Char: ; 0x020C8EEC
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG0CharPtr
- ldr r1, _020C8F50 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8F38
- cmp r4, #0x30
- bls _020C8F38
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8F38:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy32
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8F50: .word 0x02106814
-
- arm_func_start GXS_LoadBG3Scr
-GXS_LoadBG3Scr: ; 0x020C8F54
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG3ScrPtr
- ldr r1, _020C8FB8 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C8FA0
- cmp r4, #0x1c
- bls _020C8FA0
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C8FA0:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C8FB8: .word 0x02106814
-
- arm_func_start GX_LoadBG3Scr
-GX_LoadBG3Scr: ; 0x020C8FBC
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG3ScrPtr
- ldr r1, _020C9020 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9008
- cmp r4, #0x1c
- bls _020C9008
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9008:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9020: .word 0x02106814
-
- arm_func_start GXS_LoadBG2Scr
-GXS_LoadBG2Scr: ; 0x020C9024
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG2ScrPtr
- ldr r1, _020C9088 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9070
- cmp r4, #0x1c
- bls _020C9070
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9070:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9088: .word 0x02106814
-
- arm_func_start GX_LoadBG2Scr
-GX_LoadBG2Scr: ; 0x020C908C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG2ScrPtr
- ldr r1, _020C90F0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C90D8
- cmp r4, #0x1c
- bls _020C90D8
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C90D8:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C90F0: .word 0x02106814
-
- arm_func_start GXS_LoadBG1Scr
-GXS_LoadBG1Scr: ; 0x020C90F4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG1ScrPtr
- ldr r1, _020C9158 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9140
- cmp r4, #0x1c
- bls _020C9140
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9140:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9158: .word 0x02106814
-
- arm_func_start GX_LoadBG1Scr
-GX_LoadBG1Scr: ; 0x020C915C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG1ScrPtr
- ldr r1, _020C91C0 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C91A8
- cmp r4, #0x1c
- bls _020C91A8
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C91A8:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C91C0: .word 0x02106814
-
- arm_func_start GXS_LoadBG0Scr
-GXS_LoadBG0Scr: ; 0x020C91C4
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2S_GetBG0ScrPtr
- ldr r1, _020C9228 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9210
- cmp r4, #0x1c
- bls _020C9210
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9210:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9228: .word 0x02106814
-
- arm_func_start GX_LoadBG0Scr
-GX_LoadBG0Scr: ; 0x020C922C
- stmdb sp!, {r4-r6,lr}
- mov r6, r0
- mov r5, r1
- mov r4, r2
- bl G2_GetBG0ScrPtr
- ldr r1, _020C9290 ; =0x02106814
- mov r12, r0
- ldr r0, [r1, #0x0]
- mvn r1, #0x0
- cmp r0, r1
- beq _020C9278
- cmp r4, #0x1c
- bls _020C9278
- mov r1, r6
- mov r3, r4
- add r2, r12, r5
- bl MI_DmaCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
-_020C9278:
- mov r0, r6
- mov r2, r4
- add r1, r12, r5
- bl MIi_CpuCopy16
- ldmia sp!, {r4-r6,lr}
- bx lr
- .balign 4
-_020C9290: .word 0x02106814
-
- arm_func_start GXS_LoadOBJ
-GXS_LoadOBJ: ; 0x020C9294
- stmdb sp!, {r4,lr}
- ldr r3, _020C92F0 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- mov r12, #0x6600000
- beq _020C92D8
- cmp r3, #0x30
- bls _020C92D8
- mov r1, r4
- add r2, r12, lr
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C92D8:
- mov r0, r4
- mov r2, r3
- add r1, r12, lr
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C92F0: .word 0x02106814
-
- arm_func_start GX_LoadOBJ
-GX_LoadOBJ: ; 0x020C92F4
- stmdb sp!, {r4,lr}
- ldr r3, _020C9350 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- mov r12, #0x6400000
- beq _020C9338
- cmp r3, #0x30
- bls _020C9338
- mov r1, r4
- add r2, r12, lr
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C9338:
- mov r0, r4
- mov r2, r3
- add r1, r12, lr
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9350: .word 0x02106814
-
- arm_func_start GXS_LoadOAM
-GXS_LoadOAM: ; 0x020C9354
- stmdb sp!, {r4,lr}
- ldr r3, _020C93B4 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C9398
- cmp r3, #0x30
- bls _020C9398
- ldr r2, _020C93B8 ; =0x07000400
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C9398:
- ldr r1, _020C93B8 ; =0x07000400
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C93B4: .word 0x02106814
-_020C93B8: .word 0x07000400
-
- arm_func_start GX_LoadOAM
-GX_LoadOAM: ; 0x020C93BC
- stmdb sp!, {r4,lr}
- ldr r3, _020C9414 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C93FC
- cmp r3, #0x30
- bls _020C93FC
- mov r1, r4
- add r2, lr, #0x7000000
- bl MI_DmaCopy32
- ldmia sp!, {r4,lr}
- bx lr
-_020C93FC:
- mov r0, r4
- mov r2, r3
- add r1, lr, #0x7000000
- bl MIi_CpuCopy32
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9414: .word 0x02106814
-
- arm_func_start GXS_LoadOBJPltt
-GXS_LoadOBJPltt: ; 0x020C9418
- stmdb sp!, {r4,lr}
- ldr r3, _020C9478 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C945C
- cmp r3, #0x1c
- bls _020C945C
- ldr r2, _020C947C ; =0x05000600
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C945C:
- ldr r1, _020C947C ; =0x05000600
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9478: .word 0x02106814
-_020C947C: .word 0x05000600
-
- arm_func_start GX_LoadOBJPltt
-GX_LoadOBJPltt: ; 0x020C9480
- stmdb sp!, {r4,lr}
- ldr r3, _020C94E0 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C94C4
- cmp r3, #0x1c
- bls _020C94C4
- ldr r2, _020C94E4 ; =0x05000200
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C94C4:
- ldr r1, _020C94E4 ; =0x05000200
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C94E0: .word 0x02106814
-_020C94E4: .word 0x05000200
-
- arm_func_start GXS_LoadBGPltt
-GXS_LoadBGPltt: ; 0x020C94E8
- stmdb sp!, {r4,lr}
- ldr r3, _020C9548 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C952C
- cmp r3, #0x1c
- bls _020C952C
- ldr r2, _020C954C ; =0x05000400
- mov r1, r4
- add r2, lr, r2
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C952C:
- ldr r1, _020C954C ; =0x05000400
- mov r0, r4
- mov r2, r3
- add r1, lr, r1
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C9548: .word 0x02106814
-_020C954C: .word 0x05000400
-
- arm_func_start GX_LoadBGPltt
-GX_LoadBGPltt: ; 0x020C9550
- stmdb sp!, {r4,lr}
- ldr r3, _020C95A8 ; =0x02106814
- mov r4, r0
- ldr r0, [r3, #0x0]
- mvn r12, #0x0
- mov lr, r1
- mov r3, r2
- cmp r0, r12
- beq _020C9590
- cmp r3, #0x1c
- bls _020C9590
- mov r1, r4
- add r2, lr, #0x5000000
- bl MI_DmaCopy16
- ldmia sp!, {r4,lr}
- bx lr
-_020C9590:
- mov r0, r4
- mov r2, r3
- add r1, lr, #0x5000000
- bl MIi_CpuCopy16
- ldmia sp!, {r4,lr}
- bx lr
- .balign 4
-_020C95A8: .word 0x02106814
diff --git a/arm9/lib/include/gx.h b/arm9/lib/include/gx.h
index c8229d3a..5891753e 100644
--- a/arm9/lib/include/gx.h
+++ b/arm9/lib/include/gx.h
@@ -228,6 +228,43 @@ void *G2S_GetBG2CharPtr();
void *G2_GetBG3CharPtr();
void *G2S_GetBG3CharPtr();
+//GX_load2d
+void GX_LoadBGPltt(void *src, u32 offset, u32 size);
+void GXS_LoadBGPltt(void *src, u32 offset, u32 size);
+void GX_LoadOBJPltt(void *src, u32 offset, u32 size);
+void GXS_LoadOBJPltt(void *src, u32 offset, u32 size);
+void GX_LoadOAM(void *src, u32 offset, u32 size);
+void GXS_LoadOAM(void *src, u32 offset, u32 size);
+void GX_LoadOBJ(void *src, u32 offset, u32 size);
+void GXS_LoadOBJ(void *src, u32 offset, u32 size);
+void GX_LoadBG0Scr(void *src, u32 offset, u32 size);
+void GXS_LoadBG0Scr(void *src, u32 offset, u32 size);
+void GX_LoadBG1Scr(void *src, u32 offset, u32 size);
+void GXS_LoadBG1Scr(void *src, u32 offset, u32 size);
+void GX_LoadBG2Scr(void *src, u32 offset, u32 size);
+void GXS_LoadBG2Scr(void *src, u32 offset, u32 size);
+void GX_LoadBG3Scr(void *src, u32 offset, u32 size);
+void GXS_LoadBG3Scr(void *src, u32 offset, u32 size);
+void GX_LoadBG0Char(void *src, u32 offset, u32 size);
+void GXS_LoadBG0Char(void *src, u32 offset, u32 size);
+void GX_LoadBG1Char(void *src, u32 offset, u32 size);
+void GXS_LoadBG1Char(void *src, u32 offset, u32 size);
+void GX_LoadBG2Char(void *src, u32 offset, u32 size);
+void GXS_LoadBG2Char(void *src, u32 offset, u32 size);
+void GX_LoadBG3Char(void *src, u32 offset, u32 size);
+void GXS_LoadBG3Char(void *src, u32 offset, u32 size);
+void GX_BeginLoadBGExtPltt();
+void GX_LoadBGExtPltt(void *src, u32 offset, u32 size);
+void GX_EndLoadBGExtPltt();
+void GX_BeginLoadOBJExtPltt();
+void GX_LoadOBJExtPltt(void *src, u32 offset, u32 size);
+void GX_EndLoadOBJExtPltt();
+void GXS_BeginLoadBGExtPltt();
+void GXS_LoadBGExtPltt(void *src, u32 offset, u32 size);
+void GXS_EndLoadBGExtPltt();
+void GXS_BeginLoadOBJExtPltt();
+void GXS_LoadOBJExtPltt(void *src, u32 offset, u32 size);
+void GXS_EndLoadOBJExtPltt();
//GXi_NopClearFifo128_ probably asm
diff --git a/arm9/lib/src/GX_load2d.c b/arm9/lib/src/GX_load2d.c
new file mode 100644
index 00000000..b0af0e8c
--- /dev/null
+++ b/arm9/lib/src/GX_load2d.c
@@ -0,0 +1,267 @@
+#include "global.h"
+#include "main.h"
+#include "gx.h"
+
+extern u32 gUnk02106814;
+
+extern s32 gUnk021D33F8;
+extern s32 gUnk021D33F4;
+extern u32 gUnk021D33F0;
+extern u32 gUnk021D33EC;
+extern s32 gUnk021D33E8;
+extern u32 gUnk021D33E4;
+extern s32 gUnk021D33E0;
+
+void MI_WaitDma(u32);
+void MI_DmaCopy32Async(u32, void *, void *, u32, void *, void *);
+void MI_DmaCopy16(u32 unk, void *src, void *dst, u32 size);
+void MIi_CpuCopy16(void *src, void *dst, u32 size);
+void MI_DmaCopy32(u32 unk, void *src, void *dst, u32 size);
+void MIi_CpuCopy32(void *src, void *dst, u32 size);
+
+
+static inline void _GX_Load_16(void *src, u32 offset, u32 size, u32 base){
+ if (gUnk02106814 != -1 && size > 0x1C)
+ {
+ MI_DmaCopy16(gUnk02106814, src, (void *)(base + offset), size);
+ }
+ else
+ {
+ MIi_CpuCopy16(src, (void *)(base + offset), size);
+ }
+}
+
+static inline void _GX_Load_32(void *src, u32 offset, u32 size, u32 base){
+ if (gUnk02106814 != -1 && size > 0x30)
+ {
+ MI_DmaCopy32(gUnk02106814, src, (void *)(base + offset), size);
+ }
+ else
+ {
+ MIi_CpuCopy32(src, (void *)(base + offset), size);
+ }
+}
+
+static inline void _GX_Load_32_Async(void *src, void *dst, u32 size, void *func, void *ptr){
+ if (gUnk02106814 != -1)
+ {
+ MI_DmaCopy32Async(gUnk02106814, src, dst, size, func, ptr);
+ }
+ else
+ {
+ MIi_CpuCopy32(src, dst, size);
+ }
+}
+
+static inline void *_GX_OBJ_PTR(){
+ return (void *)0x6400000;
+}
+static inline void *_GXS_OBJ_PTR(){
+ return (void *)0x6600000;
+}
+
+void GX_LoadBGPltt(void *src, u32 offset, u32 size){
+ _GX_Load_16(src, offset, size, 0x5000000);
+}
+
+void GXS_LoadBGPltt(void *src, u32 offset, u32 size){
+ _GX_Load_16(src, offset, size, 0x5000400);
+}
+
+void GX_LoadOBJPltt(void *src, u32 offset, u32 size){
+ _GX_Load_16(src, offset, size, 0x5000200);
+}
+
+void GXS_LoadOBJPltt(void *src, u32 offset, u32 size){
+ _GX_Load_16(src, offset, size, 0x5000600);
+}
+
+void GX_LoadOAM(void *src, u32 offset, u32 size){
+ _GX_Load_32(src, offset, size, 0x7000000);
+}
+
+void GXS_LoadOAM(void *src, u32 offset, u32 size){
+ _GX_Load_32(src, offset, size, 0x7000400);
+}
+
+void GX_LoadOBJ(void *src, u32 offset, u32 size){
+ u32 base = (u32)_GX_OBJ_PTR();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GXS_LoadOBJ(void *src, u32 offset, u32 size){
+ u32 base = (u32)_GXS_OBJ_PTR();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GX_LoadBG0Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG0ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GXS_LoadBG0Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG0ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GX_LoadBG1Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG1ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GXS_LoadBG1Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG1ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GX_LoadBG2Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG2ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GXS_LoadBG2Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG2ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GX_LoadBG3Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG3ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GXS_LoadBG3Scr(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG3ScrPtr();
+ _GX_Load_16(src, offset, size, base);
+}
+
+void GX_LoadBG0Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG0CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GXS_LoadBG0Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG0CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GX_LoadBG1Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG1CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GXS_LoadBG1Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG1CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GX_LoadBG2Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG2CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GXS_LoadBG2Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG2CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GX_LoadBG3Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2_GetBG3CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GXS_LoadBG3Char(void *src, u32 offset, u32 size){
+ u32 base = (u32)G2S_GetBG3CharPtr();
+ _GX_Load_32(src, offset, size, base);
+}
+
+void GX_BeginLoadBGExtPltt(){
+ gUnk021D33F4 = GX_ResetBankForBGExtPltt();
+ switch (gUnk021D33F4)
+ {
+ case 0: //needed to match
+ break;
+ case 0x10:
+ gUnk021D33F0 = 0x06880000;
+ gUnk021D33EC = 0x0;
+ break;
+ case 0x40:
+ gUnk021D33F0 = 0x06894000;
+ gUnk021D33EC = 0x4000;
+ break;
+ case 0x20:
+ case 0x60:
+ gUnk021D33F0 = 0x06890000;
+ gUnk021D33EC = 0x0;
+ break;
+ }
+}
+
+void GX_LoadBGExtPltt(void *src, u32 offset, u32 size){
+ _GX_Load_32_Async(src, (void *)(gUnk021D33F0 + offset - gUnk021D33EC), size, NULL, NULL);
+}
+
+void GX_EndLoadBGExtPltt(){
+ if (gUnk02106814 != -1)
+ MI_WaitDma(gUnk02106814);
+ GX_SetBankForBGExtPltt(gUnk021D33F4);
+ gUnk021D33F4 = 0x0;
+ gUnk021D33F0 = 0x0;
+ gUnk021D33EC = 0x0;
+}
+
+void GX_BeginLoadOBJExtPltt(){
+ gUnk021D33E8 = GX_ResetBankForOBJExtPltt();
+ switch (gUnk021D33E8)
+ {
+ case 0: //needed to match
+ break;
+ case 0x40:
+ gUnk021D33E4 = 0x06894000;
+ break;
+ case 0x20:
+ gUnk021D33E4 = 0x06890000;
+ break;
+ }
+}
+
+void GX_LoadOBJExtPltt(void *src, u32 offset, u32 size){
+ _GX_Load_32_Async(src, (void *)(gUnk021D33E4 + offset), size, NULL, NULL);
+}
+
+void GX_EndLoadOBJExtPltt(){
+ if (gUnk02106814 != -1)
+ MI_WaitDma(gUnk02106814);
+ GX_SetBankForOBJExtPltt(gUnk021D33E8);
+ gUnk021D33E8 = 0x0;
+ gUnk021D33E4 = 0x0;
+}
+
+void GXS_BeginLoadBGExtPltt(){
+ gUnk021D33E0 = FUN_020C6034();
+}
+
+void GXS_LoadBGExtPltt(void *src, u32 offset, u32 size){
+ _GX_Load_32_Async(src, (void *)(0x06898000 + offset), size, NULL, NULL);
+}
+
+void GXS_EndLoadBGExtPltt(){
+ if (gUnk02106814 != -1)
+ MI_WaitDma(gUnk02106814);
+ GX_SetBankForSubBGExtPltt(gUnk021D33E0);
+ gUnk021D33E0 = 0x0;
+}
+
+void GXS_BeginLoadOBJExtPltt(){
+ gUnk021D33F8 = GX_ResetBankForSubOBJ();
+}
+
+void GXS_LoadOBJExtPltt(void *src, u32 offset, u32 size){
+ _GX_Load_32_Async(src, (void *)(0x068A0000 + offset), size, NULL, NULL);
+}
+
+void GXS_EndLoadOBJExtPltt(){
+ if (gUnk02106814 != -1)
+ MI_WaitDma(gUnk02106814);
+ GX_SetBankForSubOBJExtPltt(gUnk021D33F8);
+ gUnk021D33F8 = 0x0;
+}
diff --git a/arm9/undefined_syms.txt b/arm9/undefined_syms.txt
index 973e6b51..72bd6f94 100644
--- a/arm9/undefined_syms.txt
+++ b/arm9/undefined_syms.txt
@@ -23,6 +23,14 @@ SDK_OVERLAY_DIGEST_END = 0x02106F84;
gUnk021D33BC = 0x021D33BC;
gUnk021D33C4 = 0x021D33C4;
+gUnk021D33E0 = 0x021D33E0;
+gUnk021D33E4 = 0x021D33E4;
+gUnk021D33E8 = 0x021D33E8;
+gUnk021D33EC = 0x021D33EC;
+gUnk021D33F0 = 0x021D33F0;
+gUnk021D33F4 = 0x021D33F4;
+gUnk021D33F8 = 0x021D33F8;
+
// Overlay
FUN_021D76AC = 0x021D76AC;
gUnk021D76C8 = 0x021D76C8;