summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2021-08-16 18:07:07 +0100
committerred031000 <rubenru09@aol.com>2021-08-16 18:07:07 +0100
commitffb7a81a6ed6cfc4239285157938dbc2e4446ebc (patch)
tree6cc36f39f20019bc139d7a783596e2adbdb18ff5
parentbdd8885a810c5027e729c6bba3b8a1e61ef9c6ca (diff)
o
-rw-r--r--arm9/arm9.lsf1
-rw-r--r--arm9/global.inc1
-rw-r--r--arm9/modules/04/asm/arm_04.s139
-rw-r--r--arm9/modules/04/asm/mod04_021DD6B0.s145
4 files changed, 147 insertions, 139 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index fe408d4a..2eaaeb89 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -665,6 +665,7 @@ Overlay MODULE_04
Object mod04_021DC8A4.o
Object mod04_021DCCC8.o
Object mod04_021DD36C.o
+ Object mod04_021DD6B0.o
Object arm_04.o
}
diff --git a/arm9/global.inc b/arm9/global.inc
index 9a3575cb..f3916409 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -6144,6 +6144,7 @@
.extern MOD04_021DD36C
.extern MOD04_021DD4FC
.extern MOD04_021DD6B0
+.extern MOD04_021DD6D4
.extern MOD04_021DD6F0
.extern MOD04_021DD718
.extern MOD04_021DD808
diff --git a/arm9/modules/04/asm/arm_04.s b/arm9/modules/04/asm/arm_04.s
index 9aa15f74..23fd3766 100644
--- a/arm9/modules/04/asm/arm_04.s
+++ b/arm9/modules/04/asm/arm_04.s
@@ -3,137 +3,6 @@
.section .text
.balign 4, 0
- arm_func_start MOD04_021DD6B0
-MOD04_021DD6B0: ; 0x021DD6B0
- ldr r3, _021DD6CC ; =UNK04_02210508
- ldr r2, [r3]
- cmp r2, #9
- ldrne r2, _021DD6D0 ; =UNK04_0221050C
- strne r0, [r3]
- strne r1, [r2]
- bx lr
- .align 2, 0
-_021DD6CC: .word UNK04_02210508
-_021DD6D0: .word UNK04_0221050C
- arm_func_end MOD04_021DD6B0
-
- arm_func_start MOD04_021DD6D4
-MOD04_021DD6D4: ; 0x021DD6D4
- ldr r0, _021DD6EC ; =UNK04_02210508
- ldr r0, [r0]
- cmp r0, #0
- movne r0, #1
- moveq r0, #0
- bx lr
- .align 2, 0
-_021DD6EC: .word UNK04_02210508
- arm_func_end MOD04_021DD6D4
-
- arm_func_start MOD04_021DD6F0
-MOD04_021DD6F0: ; 0x021DD6F0
- ldr r1, _021DD710 ; =UNK04_02210508
- ldr r0, [r1]
- cmp r0, #9
- movne r2, #0
- ldrne r0, _021DD714 ; =UNK04_0221050C
- strne r2, [r1]
- strne r2, [r0]
- bx lr
- .align 2, 0
-_021DD710: .word UNK04_02210508
-_021DD714: .word UNK04_0221050C
- arm_func_end MOD04_021DD6F0
-
- arm_func_start MOD04_021DD718
-MOD04_021DD718: ; 0x021DD718
- cmp r0, #0
- ldrne r2, _021DD800 ; =UNK04_0221050C
- ldrne r2, [r2]
- strne r2, [r0]
- cmp r1, #0
- beq _021DD7F4
- ldr r0, _021DD804 ; =UNK04_02210508
- ldr r0, [r0]
- cmp r0, #0x11
- addls pc, pc, r0, lsl #2
- b _021DD7EC
-_021DD744: ; jump table
- b _021DD7EC ; case 0
- b _021DD7BC ; case 1
- b _021DD78C ; case 2
- b _021DD78C ; case 3
- b _021DD78C ; case 4
- b _021DD78C ; case 5
- b _021DD798 ; case 6
- b _021DD7A4 ; case 7
- b _021DD78C ; case 8
- b _021DD7BC ; case 9
- b _021DD7B0 ; case 10
- b _021DD7B0 ; case 11
- b _021DD7B0 ; case 12
- b _021DD7B0 ; case 13
- b _021DD7C8 ; case 14
- b _021DD7D4 ; case 15
- b _021DD7E0 ; case 16
- b _021DD7D4 ; case 17
-_021DD78C:
- mov r0, #6
- str r0, [r1]
- b _021DD7F4
-_021DD798:
- mov r0, #3
- str r0, [r1]
- b _021DD7F4
-_021DD7A4:
- mov r0, #4
- str r0, [r1]
- b _021DD7F4
-_021DD7B0:
- mov r0, #1
- str r0, [r1]
- b _021DD7F4
-_021DD7BC:
- mov r0, #7
- str r0, [r1]
- b _021DD7F4
-_021DD7C8:
- mov r0, #5
- str r0, [r1]
- b _021DD7F4
-_021DD7D4:
- mov r0, #6
- str r0, [r1]
- b _021DD7F4
-_021DD7E0:
- mov r0, #2
- str r0, [r1]
- b _021DD7F4
-_021DD7EC:
- mov r0, #0
- str r0, [r1]
-_021DD7F4:
- ldr r0, _021DD804 ; =UNK04_02210508
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_021DD800: .word UNK04_0221050C
-_021DD804: .word UNK04_02210508
- arm_func_end MOD04_021DD718
-
- arm_func_start MOD04_021DD808
-MOD04_021DD808: ; 0x021DD808
- cmp r0, #0
- ldrne r1, _021DD824 ; =UNK04_0221050C
- ldrne r1, [r1]
- strne r1, [r0]
- ldr r0, _021DD828 ; =UNK04_02210508
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_021DD824: .word UNK04_0221050C
-_021DD828: .word UNK04_02210508
- arm_func_end MOD04_021DD808
-
arm_func_start MOD04_021DD82C
MOD04_021DD82C: ; 0x021DD82C
ldr ip, _021DD840 ; =MOD04_021DD904
@@ -58013,14 +57882,6 @@ UNK04_0220FBA4: ; 0x0220FBA4
.section .bss
- .global UNK04_02210508
-UNK04_02210508: ; 0x02210508
- .space 0x4
-
- .global UNK04_0221050C
-UNK04_0221050C: ; 0x0221050C
- .space 0x4
-
.global UNK04_02210510
UNK04_02210510: ; 0x02210510
.space 0x4
diff --git a/arm9/modules/04/asm/mod04_021DD6B0.s b/arm9/modules/04/asm/mod04_021DD6B0.s
new file mode 100644
index 00000000..4b9455e6
--- /dev/null
+++ b/arm9/modules/04/asm/mod04_021DD6B0.s
@@ -0,0 +1,145 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ arm_func_start MOD04_021DD6B0
+MOD04_021DD6B0: ; 0x021DD6B0
+ ldr r3, _021DD6CC ; =UNK04_02210508
+ ldr r2, [r3]
+ cmp r2, #9
+ ldrne r2, _021DD6D0 ; =UNK04_0221050C
+ strne r0, [r3]
+ strne r1, [r2]
+ bx lr
+ .align 2, 0
+_021DD6CC: .word UNK04_02210508
+_021DD6D0: .word UNK04_0221050C
+ arm_func_end MOD04_021DD6B0
+
+ arm_func_start MOD04_021DD6D4
+MOD04_021DD6D4: ; 0x021DD6D4
+ ldr r0, _021DD6EC ; =UNK04_02210508
+ ldr r0, [r0]
+ cmp r0, #0
+ movne r0, #1
+ moveq r0, #0
+ bx lr
+ .align 2, 0
+_021DD6EC: .word UNK04_02210508
+ arm_func_end MOD04_021DD6D4
+
+ arm_func_start MOD04_021DD6F0
+MOD04_021DD6F0: ; 0x021DD6F0
+ ldr r1, _021DD710 ; =UNK04_02210508
+ ldr r0, [r1]
+ cmp r0, #9
+ movne r2, #0
+ ldrne r0, _021DD714 ; =UNK04_0221050C
+ strne r2, [r1]
+ strne r2, [r0]
+ bx lr
+ .align 2, 0
+_021DD710: .word UNK04_02210508
+_021DD714: .word UNK04_0221050C
+ arm_func_end MOD04_021DD6F0
+
+ arm_func_start MOD04_021DD718
+MOD04_021DD718: ; 0x021DD718
+ cmp r0, #0
+ ldrne r2, _021DD800 ; =UNK04_0221050C
+ ldrne r2, [r2]
+ strne r2, [r0]
+ cmp r1, #0
+ beq _021DD7F4
+ ldr r0, _021DD804 ; =UNK04_02210508
+ ldr r0, [r0]
+ cmp r0, #0x11
+ addls pc, pc, r0, lsl #2
+ b _021DD7EC
+_021DD744: ; jump table
+ b _021DD7EC ; case 0
+ b _021DD7BC ; case 1
+ b _021DD78C ; case 2
+ b _021DD78C ; case 3
+ b _021DD78C ; case 4
+ b _021DD78C ; case 5
+ b _021DD798 ; case 6
+ b _021DD7A4 ; case 7
+ b _021DD78C ; case 8
+ b _021DD7BC ; case 9
+ b _021DD7B0 ; case 10
+ b _021DD7B0 ; case 11
+ b _021DD7B0 ; case 12
+ b _021DD7B0 ; case 13
+ b _021DD7C8 ; case 14
+ b _021DD7D4 ; case 15
+ b _021DD7E0 ; case 16
+ b _021DD7D4 ; case 17
+_021DD78C:
+ mov r0, #6
+ str r0, [r1]
+ b _021DD7F4
+_021DD798:
+ mov r0, #3
+ str r0, [r1]
+ b _021DD7F4
+_021DD7A4:
+ mov r0, #4
+ str r0, [r1]
+ b _021DD7F4
+_021DD7B0:
+ mov r0, #1
+ str r0, [r1]
+ b _021DD7F4
+_021DD7BC:
+ mov r0, #7
+ str r0, [r1]
+ b _021DD7F4
+_021DD7C8:
+ mov r0, #5
+ str r0, [r1]
+ b _021DD7F4
+_021DD7D4:
+ mov r0, #6
+ str r0, [r1]
+ b _021DD7F4
+_021DD7E0:
+ mov r0, #2
+ str r0, [r1]
+ b _021DD7F4
+_021DD7EC:
+ mov r0, #0
+ str r0, [r1]
+_021DD7F4:
+ ldr r0, _021DD804 ; =UNK04_02210508
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_021DD800: .word UNK04_0221050C
+_021DD804: .word UNK04_02210508
+ arm_func_end MOD04_021DD718
+
+ arm_func_start MOD04_021DD808
+MOD04_021DD808: ; 0x021DD808
+ cmp r0, #0
+ ldrne r1, _021DD824 ; =UNK04_0221050C
+ ldrne r1, [r1]
+ strne r1, [r0]
+ ldr r0, _021DD828 ; =UNK04_02210508
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_021DD824: .word UNK04_0221050C
+_021DD828: .word UNK04_02210508
+ arm_func_end MOD04_021DD808
+
+ .section .bss
+
+ .global UNK04_02210508
+UNK04_02210508: ; 0x02210508
+ .space 0x4
+
+ .global UNK04_0221050C
+UNK04_0221050C: ; 0x0221050C
+ .space 0x4 \ No newline at end of file