summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--INSTALL.md6
-rw-r--r--arm9/arm9.lsf6
-rw-r--r--arm9/modules/12/asm/module_12.s328
3 files changed, 233 insertions, 107 deletions
diff --git a/INSTALL.md b/INSTALL.md
index 7aace887..4d4f038b 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,12 +1,12 @@
### 1. Install MWCC compiler
-The build system requires the use of the Metrowerk C Compiler 2.0/base to compile matching files. We cannot distribute the correct compiler here so join the PRET discord and download the pinned mwccarm.zip zip in #pokediamond and extract it to tools/. Run each of the executables so they ask for a license.dat and provide the one in the rar (it may also ask for it when compiling). This only needs to be done once.
+The build system requires the use of the Metrowerk C Compiler versions 2.0/sp1 and 1.2/sp2p3 to compile matching files. We cannot distribute the correct compiler here so join the PRET discord and download the pinned mwccarm.zip zip in #pokediamond and extract it to tools/. Run each of the executables so they ask for a license.dat and provide the one in the rar (it may also ask for it when compiling). This only needs to be done once.
In the future, a GCC option will be available so MWCC is not required to build, however it is required for a matching ROM.
### 2. Install Nitro SDK
-As with the compiler, the Nitro SDK is proprietary and cannot be distributed here. Opened the pinned Mega folder in the PRET discord and download "NITRO SDK v3.0.zip" and "NITRO SDK V3.0 Plus 2.zip" from the "SDK System Libraries" folder. Extract v3.0.zip into a separate folder, then extract v3.0 Plus 2.zip into the same folder, overwriting when prompted. Copy the contents of tools/bin from the Nitro SDK to tools/bin in your pokediamond clone. Finally, copy include/nitro/specfiles/ARM7-TS.lcf.template into the arm7 subdirectory, and include/nitro/specfiles/ARM9-TS.lcf.template into the arm9 subdirectory.
+As with the compiler, the Nitro SDK is proprietary and cannot be distributed here. Download the "NitroSDK-3_2-060901.7z" file pinned in the PRET discord. Extract and copy the contents of tools/bin from the Nitro SDK to tools/bin in your pokediamond clone. Finally, copy include/nitro/specfiles/ARM7-TS.lcf.template into the arm7 subdirectory, and include/nitro/specfiles/ARM9-TS.lcf.template into the arm9 subdirectory.
### 3. Dependencies
@@ -23,6 +23,8 @@ Building the ROM requires the following packages:
NOTE: If you are using Arch/Manjaro or Void you will only need base-devel instead of build-essentials or make or git. You will still need wine.
+Currently WSL2 has an issue with mwldarm not being able to locate it's executable. Please use WSL1 or another build environment to mitigate this issue until a solution is found.
+
#### Windows
Before following the respective guides, please install devkitARM and ensure the DEVKITPRO and DEVKITARM variables are added to bashrc such that:
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index bd1cabb4..c56a09fd 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -620,7 +620,7 @@ Overlay MODULE_20
Overlay MODULE_21
{
- ##Pokétch##
+ ##Pokétch Clock##
After MODULE_20
Object module_21.o
Object module_21_sinit.o
@@ -634,6 +634,7 @@ Overlay MODULE_22
Overlay MODULE_23
{
+ ##Pokétch Calculator##
After MODULE_20
Object module_23.o
Object module_23_sinit.o
@@ -659,6 +660,7 @@ Overlay MODULE_26
Overlay MODULE_27
{
+ ##Pokétch Party##
After MODULE_20
Object module_27.o
Object module_27_sinit.o
@@ -687,6 +689,7 @@ Overlay MODULE_30
Overlay MODULE_31
{
+ ##Pokétch Counter##
After MODULE_20
Object module_31.o
}
@@ -912,6 +915,7 @@ Overlay MODULE_65
Overlay MODULE_66
{
+ ##Weather effects?##
After arm9
Object module_66.o
}
diff --git a/arm9/modules/12/asm/module_12.s b/arm9/modules/12/asm/module_12.s
index 51210dd5..a051651a 100644
--- a/arm9/modules/12/asm/module_12.s
+++ b/arm9/modules/12/asm/module_12.s
@@ -122,8 +122,8 @@ MOD12_0222D5C0: ; 0x0222D5C0
bl FUN_02002C50
mov r0, #0x15
bl FUN_0200BB14
- ldr r1, _0222D870 ; =0x022449C8
- ldr r2, _0222D874 ; =0x0224499C
+ ldr r1, _0222D870 ; =MOD12_022449C8
+ ldr r2, _0222D874 ; =MOD12_0224499C
mov r3, #0x20
str r0, [r4, #0x24]
bl FUN_0200BB6C
@@ -141,7 +141,7 @@ MOD12_0222D5C0: ; 0x0222D5C0
bl FUN_0200BBF0
ldr r0, [r4, #0x24]
ldr r1, [r4, #0x28]
- ldr r2, _0222D87C ; =0x022449B0
+ ldr r2, _0222D87C ; =MOD12_022449B0
bl FUN_0200BF60
ldr r0, [r4, #0x24]
bl FUN_0200BB68
@@ -282,10 +282,10 @@ _0222D860: .word 0x04001000
_0222D864: .word 0xFFFF1FFF
_0222D868: .word 0x00001658
_0222D86C: .word 0x0000081C
-_0222D870: .word 0x022449C8
-_0222D874: .word 0x0224499C
+_0222D870: .word MOD12_022449C8
+_0222D874: .word MOD12_0224499C
_0222D878: .word 0x00100010
-_0222D87C: .word 0x022449B0
+_0222D87C: .word MOD12_022449B0
_0222D880: .word 0x00000123
_0222D884: .word MOD12_0222DB18
_0222D888: .word 0x0000EA60
@@ -329,7 +329,7 @@ _0222D8CC:
add r0, r4, #0
add r1, r4, r1
lsl r3, r2, #2
- ldr r2, _0222D9A4 ; =0x02244A10
+ ldr r2, _0222D9A4 ; =MOD12_02244A10
ldr r2, [r2, r3]
blx r2
sub r1, r0, #1
@@ -422,7 +422,7 @@ _0222D994:
nop
_0222D99C: .word 0x00000822
_0222D9A0: .word 0x00001648
-_0222D9A4: .word 0x02244A10
+_0222D9A4: .word MOD12_02244A10
_0222D9A8: .word 0x0000164A
_0222D9AC: .word 0x00001650
@@ -590,7 +590,7 @@ MOD12_0222DB50: ; 0x0222DB50
sub sp, #0x8c
add r4, r0, #0
bl FUN_0201E6D8
- ldr r5, _0222DC70 ; =0x022449E8
+ ldr r5, _0222DC70 ; =MOD12_022449E8
add r3, sp, #0x10
mov r2, #5
_0222DB60:
@@ -624,7 +624,7 @@ _0222DB60:
lsl r1, r1, #0x14
lsl r2, r2, #0x10
bl MIi_CpuClear32
- ldr r5, _0222DC74 ; =0x0224498C
+ ldr r5, _0222DC74 ; =MOD12_0224498C
add r3, sp, #0
add r2, r3, #0
ldmia r5!, {r0, r1}
@@ -633,7 +633,7 @@ _0222DB60:
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
- ldr r5, _0222DC78 ; =0x02244A50
+ ldr r5, _0222DC78 ; =MOD12_02244A50
add r3, sp, #0x38
mov r2, #0xa
_0222DBC0:
@@ -712,9 +712,9 @@ _0222DBC0:
add sp, #0x8c
pop {r4, r5, pc}
.align 2, 0
-_0222DC70: .word 0x022449E8
-_0222DC74: .word 0x0224498C
-_0222DC78: .word 0x02244A50
+_0222DC70: .word MOD12_022449E8
+_0222DC74: .word MOD12_0224498C
+_0222DC78: .word MOD12_02244A50
_0222DC7C: .word 0x04000008
thumb_func_start MOD12_0222DC80
@@ -1181,7 +1181,7 @@ MOD12_0222DFC4: ; 0x0222DFC4
mov r1, #0
bl FUN_02003204
str r0, [sp, #0x14]
- ldr r0, _0222E0EC ; =0x022451D0
+ ldr r0, _0222E0EC ; =MOD12_022451D0
add r1, r7, #0
ldrb r0, [r0]
mov r2, #0x20
@@ -1192,7 +1192,7 @@ MOD12_0222DFC4: ; 0x0222DFC4
ldr r0, _0222E0F0 ; =0x00000123
mov r2, #0x20
ldrb r1, [r1, r0]
- ldr r0, _0222E0EC ; =0x022451D0
+ ldr r0, _0222E0EC ; =MOD12_022451D0
ldrb r0, [r0, r1]
ldr r1, [sp, #0x10]
lsl r0, r0, #5
@@ -1202,7 +1202,7 @@ MOD12_0222DFC4: ; 0x0222DFC4
ldr r1, _0222E0F0 ; =0x00000123
add r0, r7, #0
ldrb r2, [r2, r1]
- ldr r1, _0222E0EC ; =0x022451D0
+ ldr r1, _0222E0EC ; =MOD12_022451D0
ldrb r1, [r1, r2]
mov r2, #0x20
lsl r1, r1, #5
@@ -1216,7 +1216,7 @@ MOD12_0222DFC4: ; 0x0222DFC4
ldr r1, _0222E0F0 ; =0x00000123
add r0, r7, #0
ldrb r2, [r2, r1]
- ldr r1, _0222E0EC ; =0x022451D0
+ ldr r1, _0222E0EC ; =MOD12_022451D0
ldrb r1, [r1, r2]
lsl r2, r1, #5
ldr r1, [sp, #0x14]
@@ -1235,7 +1235,7 @@ MOD12_0222DFC4: ; 0x0222DFC4
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
-_0222E0EC: .word 0x022451D0
+_0222E0EC: .word MOD12_022451D0
_0222E0F0: .word 0x00000123
thumb_func_start MOD12_0222E0F4
@@ -3248,8 +3248,8 @@ MOD12_0222EF04: ; 0x0222EF04
bl FUN_02002C50
mov r0, #0x16
bl FUN_0200BB14
- ldr r1, _0222F16C ; =0x02244AFC
- ldr r2, _0222F170 ; =0x02244AB4
+ ldr r1, _0222F16C ; =MOD12_02244AFC
+ ldr r2, _0222F170 ; =MOD12_02244AB4
mov r3, #0x20
str r0, [r5, #0x28]
bl FUN_0200BB6C
@@ -3267,7 +3267,7 @@ MOD12_0222EF04: ; 0x0222EF04
bl FUN_0200BBF0
ldr r0, [r5, #0x28]
ldr r1, [r5, #0x2c]
- ldr r2, _0222F178 ; =0x02244AC8
+ ldr r2, _0222F178 ; =MOD12_02244AC8
bl FUN_0200BF60
ldr r0, [r5, #0x28]
bl FUN_0200BB68
@@ -3387,10 +3387,10 @@ _0222F15C: .word 0xFFFFE0FF
_0222F160: .word 0x04001000
_0222F164: .word 0xFFFF1FFF
_0222F168: .word 0x00000F68
-_0222F16C: .word 0x02244AFC
-_0222F170: .word 0x02244AB4
+_0222F16C: .word MOD12_02244AFC
+_0222F170: .word MOD12_02244AB4
_0222F174: .word 0x00100010
-_0222F178: .word 0x02244AC8
+_0222F178: .word MOD12_02244AC8
_0222F17C: .word 0x00007FFF
_0222F180: .word MOD12_0222F4F4
_0222F184: .word 0x0000EA60
@@ -3485,7 +3485,7 @@ _0222F236:
add r0, r4, #0
add r1, r4, r1
lsl r3, r2, #2
- ldr r2, _0222F314 ; =0x02244B44
+ ldr r2, _0222F314 ; =MOD12_02244B44
ldr r2, [r2, r3]
blx r2
sub r1, r0, #1
@@ -3579,7 +3579,7 @@ _0222F304: .word 0x0000FFFF
_0222F308: .word 0x000006E5
_0222F30C: .word 0x000004F6
_0222F310: .word 0x00000F14
-_0222F314: .word 0x02244B44
+_0222F314: .word MOD12_02244B44
_0222F318: .word 0x00000F16
_0222F31C: .word 0x000004FC
_0222F320: .word 0x00000F1C
@@ -3819,7 +3819,7 @@ MOD12_0222F548: ; 0x0222F548
sub sp, #0xa8
add r4, r0, #0
bl FUN_0201E6D8
- ldr r5, _0222F6A0 ; =0x02244B1C
+ ldr r5, _0222F6A0 ; =MOD12_02244B1C
add r3, sp, #0x2c
mov r2, #5
_0222F558:
@@ -3853,7 +3853,7 @@ _0222F558:
lsl r1, r1, #0x14
lsl r2, r2, #0x10
bl MIi_CpuClear32
- ldr r5, _0222F6A4 ; =0x02244AA4
+ ldr r5, _0222F6A4 ; =MOD12_02244AA4
add r3, sp, #0x1c
add r2, r3, #0
ldmia r5!, {r0, r1}
@@ -3862,7 +3862,7 @@ _0222F558:
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
- ldr r5, _0222F6A8 ; =0x02244B70
+ ldr r5, _0222F6A8 ; =MOD12_02244B70
add r3, sp, #0x54
mov r2, #0xa
_0222F5B8:
@@ -3935,7 +3935,7 @@ _0222F5B8:
strh r2, [r1]
add r1, r0, #0
bl FUN_0201E6E4
- ldr r5, _0222F6B0 ; =0x02244AE0
+ ldr r5, _0222F6B0 ; =MOD12_02244AE0
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
@@ -3966,11 +3966,11 @@ _0222F5B8:
add sp, #0xa8
pop {r3, r4, r5, pc}
.align 2, 0
-_0222F6A0: .word 0x02244B1C
-_0222F6A4: .word 0x02244AA4
-_0222F6A8: .word 0x02244B70
+_0222F6A0: .word MOD12_02244B1C
+_0222F6A4: .word MOD12_02244AA4
+_0222F6A8: .word MOD12_02244B70
_0222F6AC: .word 0x04000008
-_0222F6B0: .word 0x02244AE0
+_0222F6B0: .word MOD12_02244AE0
thumb_func_start MOD12_0222F6B4
MOD12_0222F6B4: ; 0x0222F6B4
@@ -5116,8 +5116,8 @@ MOD12_0222FE4C: ; 0x0222FE4C
bl FUN_02002C50
mov r0, #0x17
bl FUN_0200BB14
- ldr r1, _022300F8 ; =0x02244C18
- ldr r2, _022300FC ; =0x02244BD4
+ ldr r1, _022300F8 ; =MOD12_02244C18
+ ldr r2, _022300FC ; =MOD12_02244BD4
mov r3, #0x20
str r0, [r5, #0x6c]
bl FUN_0200BB6C
@@ -5135,7 +5135,7 @@ MOD12_0222FE4C: ; 0x0222FE4C
bl FUN_0200BBF0
ldr r0, [r5, #0x6c]
ldr r1, [r5, #0x70]
- ldr r2, _02230104 ; =0x02244C00
+ ldr r2, _02230104 ; =MOD12_02244C00
bl FUN_0200BF60
ldr r0, [r5, #0x6c]
bl FUN_0200BB68
@@ -5254,10 +5254,10 @@ _022300E8: .word 0xFFFF1FFF
_022300EC: .word 0x00001BF4
_022300F0: .word 0x0000110C
_022300F4: .word 0x00001130
-_022300F8: .word 0x02244C18
-_022300FC: .word 0x02244BD4
+_022300F8: .word MOD12_02244C18
+_022300FC: .word MOD12_02244BD4
_02230100: .word 0x00100010
-_02230104: .word 0x02244C00
+_02230104: .word MOD12_02244C00
_02230108: .word MOD12_02230520
_0223010C: .word 0x00013880
_02230110: .word 0x00001154
@@ -5302,7 +5302,7 @@ _02230158:
add r0, r4, #0
add r1, r4, r1
lsl r3, r2, #2
- ldr r2, _0223022C ; =0x02244C60
+ ldr r2, _0223022C ; =MOD12_02244C60
ldr r2, [r2, r3]
blx r2
sub r1, r0, #1
@@ -5393,7 +5393,7 @@ _0223021C:
nop
_02230224: .word 0x00001152
_02230228: .word 0x00001BE8
-_0223022C: .word 0x02244C60
+_0223022C: .word MOD12_02244C60
_02230230: .word 0x00001BEA
_02230234: .word 0x00001158
_02230238: .word 0x00001BF0
@@ -5765,7 +5765,7 @@ MOD12_02230574: ; 0x02230574
sub sp, #0x8c
add r4, r0, #0
bl FUN_0201E6D8
- ldr r5, _02230694 ; =0x02244C38
+ ldr r5, _02230694 ; =MOD12_02244C38
add r3, sp, #0x10
mov r2, #5
_02230584:
@@ -5799,7 +5799,7 @@ _02230584:
lsl r1, r1, #0x14
lsl r2, r2, #0x10
bl MIi_CpuClear32
- ldr r5, _02230698 ; =0x02244BC4
+ ldr r5, _02230698 ; =MOD12_02244BC4
add r3, sp, #0
add r2, r3, #0
ldmia r5!, {r0, r1}
@@ -5808,7 +5808,7 @@ _02230584:
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
- ldr r5, _0223069C ; =0x02244C94
+ ldr r5, _0223069C ; =MOD12_02244C94
add r3, sp, #0x38
mov r2, #0xa
_022305E4:
@@ -5887,9 +5887,9 @@ _022305E4:
add sp, #0x8c
pop {r4, r5, pc}
.align 2, 0
-_02230694: .word 0x02244C38
-_02230698: .word 0x02244BC4
-_0223069C: .word 0x02244C94
+_02230694: .word MOD12_02244C38
+_02230698: .word MOD12_02244BC4
+_0223069C: .word MOD12_02244C94
_022306A0: .word 0x04000008
thumb_func_start MOD12_022306A4
@@ -6585,12 +6585,12 @@ _02230C1E:
mov r0, #0xc
add r6, r1, #0
mul r6, r0
- ldr r0, _02230D84 ; =0x02244BE8
+ ldr r0, _02230D84 ; =MOD12_02244BE8
add r1, r0, r6
mov r0, #0xab
lsl r0, r0, #4
str r1, [r4, r0]
- ldr r0, _02230D88 ; =0x02244BEA
+ ldr r0, _02230D88 ; =MOD12_02244BEA
ldrh r7, [r0, r6]
ldr r0, _02230D8C ; =0x0112A880
add r1, r7, #0
@@ -6614,7 +6614,7 @@ _02230C1E:
strh r7, [r4, r0]
sub r0, r1, #4
ldr r2, [r4, r0]
- ldr r0, _02230D9C ; =0x02244BEE
+ ldr r0, _02230D9C ; =MOD12_02244BEE
add r3, r2, #0
ldrb r0, [r0, r6]
mul r3, r0
@@ -6622,7 +6622,7 @@ _02230C1E:
str r3, [r4, r0]
sub r0, r1, #4
ldr r2, [r4, r0]
- ldr r0, _02230DA0 ; =0x02244BEF
+ ldr r0, _02230DA0 ; =MOD12_02244BEF
add r3, r2, #0
ldrb r0, [r0, r6]
mul r3, r0
@@ -6635,11 +6635,11 @@ _02230C1E:
bl _u32_div_f
ldr r1, _02230DA4 ; =0x00000AF8
str r0, [r4, r1]
- ldr r0, _02230DA8 ; =0x02244BED
+ ldr r0, _02230DA8 ; =MOD12_02244BED
ldrb r2, [r0, r6]
add r0, r1, #6
strb r2, [r4, r0]
- ldr r0, _02230D84 ; =0x02244BE8
+ ldr r0, _02230D84 ; =MOD12_02244BE8
ldrh r2, [r0, r6]
add r0, r1, #0
sub r0, #0x14
@@ -6761,16 +6761,16 @@ _02230D80:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
-_02230D84: .word 0x02244BE8
-_02230D88: .word 0x02244BEA
+_02230D84: .word MOD12_02244BE8
+_02230D88: .word MOD12_02244BEA
_02230D8C: .word 0x0112A880
_02230D90: .word 0x00000AE8
_02230D94: .word 0x00001388
_02230D98: .word 0x00000AEC
-_02230D9C: .word 0x02244BEE
-_02230DA0: .word 0x02244BEF
+_02230D9C: .word MOD12_02244BEE
+_02230DA0: .word MOD12_02244BEF
_02230DA4: .word 0x00000AF8
-_02230DA8: .word 0x02244BED
+_02230DA8: .word MOD12_02244BED
_02230DAC: .word 0x00001158
_02230DB0: .word 0x00000127
@@ -8100,7 +8100,7 @@ _022317C4:
MOD12_022317C8: ; 0x022317C8
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
- ldr r5, _02231850 ; =0x02244D18
+ ldr r5, _02231850 ; =MOD12_02244D18
str r2, [sp, #4]
str r0, [sp]
add r7, r1, #0
@@ -8112,7 +8112,7 @@ _022317D8:
sub r2, r2, #1
bne _022317D8
ldr r0, [r5]
- ldr r5, _02231854 ; =0x02244CE8
+ ldr r5, _02231854 ; =MOD12_02244CE8
str r0, [r4]
ldr r0, [sp, #0x50]
ldr r4, [sp]
@@ -8163,8 +8163,8 @@ _02231804:
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
.align 2, 0
-_02231850: .word 0x02244D18
-_02231854: .word 0x02244CE8
+_02231850: .word MOD12_02244D18
+_02231854: .word MOD12_02244CE8
_02231858: .word MOD12_02231880
thumb_func_start MOD12_0223185C
@@ -8190,7 +8190,7 @@ _02231864:
thumb_func_start MOD12_02231880
MOD12_02231880: ; 0x02231880
push {r3, r4, r5, r6, r7, lr}
- ldr r4, _022318A0 ; =0x02244CE8
+ ldr r4, _022318A0 ; =MOD12_02244CE8
add r5, r1, #0
mov r6, #0
mov r7, #4
@@ -8205,7 +8205,7 @@ _0223188A:
blt _0223188A
pop {r3, r4, r5, r6, r7, pc}
nop
-_022318A0: .word 0x02244CE8
+_022318A0: .word MOD12_02244CE8
thumb_func_start MOD12_022318A4
MOD12_022318A4: ; 0x022318A4
@@ -8344,7 +8344,7 @@ MOD12_0223197C: ; 0x0223197C
MOD12_022319A4: ; 0x022319A4
push {r3, r4, r5, r6, r7, lr}
mov r4, #0
- ldr r6, _022319F8 ; =0x02244F64
+ ldr r6, _022319F8 ; =MOD12_02244F64
add r5, r0, #0
add r7, r4, #0
_022319AE:
@@ -8381,7 +8381,7 @@ _022319AE:
blo _022319AE
pop {r3, r4, r5, r6, r7, pc}
nop
-_022319F8: .word 0x02244F64
+_022319F8: .word MOD12_02244F64
thumb_func_start MOD12_022319FC
MOD12_022319FC: ; 0x022319FC
@@ -12026,7 +12026,7 @@ MOD12_022335B0: ; 0x022335B0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r4, #0
- ldr r6, _022335DC ; =0x022451D0
+ ldr r6, _022335DC ; =MOD12_022451D0
ldr r7, _022335E0 ; =0x00000231
b _022335CC
_022335BC:
@@ -12045,7 +12045,7 @@ _022335CC:
bl FUN_0201AC68
pop {r3, r4, r5, r6, r7, pc}
nop
-_022335DC: .word 0x022451D0
+_022335DC: .word MOD12_022451D0
_022335E0: .word 0x00000231
thumb_func_start MOD12_022335E4
@@ -12113,7 +12113,7 @@ MOD12_02233648: ; 0x02233648
beq _0223369E
mov r0, #8
ldrsh r0, [r4, r0]
- ldr r2, _022336A4 ; =0x022451D0
+ ldr r2, _022336A4 ; =MOD12_022451D0
mov r1, #0
asr r0, r0, #8
lsl r0, r0, #0x18
@@ -12152,7 +12152,7 @@ _0223369E:
add sp, #8
pop {r4, pc}
nop
-_022336A4: .word 0x022451D0
+_022336A4: .word MOD12_022451D0
_022336A8: .word 0x00007FFF
thumb_func_start MOD12_022336AC
@@ -48104,64 +48104,176 @@ _02244988:
pop {r4, r5, r6, pc}
.section .rodata
- ; 0x0224498C
+
+ .global MOD12_0224498C
+MOD12_0224498C: ; 0x0224498C
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
+
+ .global MOD12_0224499C
+MOD12_0224499C: ; 0x0224499C
.byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00
- .byte 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
- .byte 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x10, 0x00, 0x00, 0x00
+
+ .global MOD12_022449B0
+MOD12_022449B0: ; 0x022449B0
+ .byte 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
+ .byte 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
+
+ .global MOD12_022449C8
+MOD12_022449C8: ; 0x022449C8
+ .byte 0x00, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
+ .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
+
+ .global MOD12_022449E8
+MOD12_022449E8: ; 0x022449E8
+ .byte 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
- .byte 0x60, 0x00, 0x00, 0x00, 0x01, 0xE1, 0x22, 0x02, 0x51, 0xE1, 0x22, 0x02, 0xC5, 0xE1, 0x22, 0x02
- .byte 0x4D, 0xE2, 0x22, 0x02, 0x51, 0xE2, 0x22, 0x02, 0x15, 0xE3, 0x22, 0x02, 0xA9, 0xE3, 0x22, 0x02
- .byte 0xFD, 0xE3, 0x22, 0x02, 0x61, 0xE4, 0x22, 0x02, 0xF9, 0xE4, 0x22, 0x02, 0xD5, 0xE6, 0x22, 0x02
- .byte 0x29, 0xE7, 0x22, 0x02, 0x49, 0xE7, 0x22, 0x02, 0x11, 0xEC, 0x22, 0x02, 0x7D, 0xEC, 0x22, 0x02
- .byte 0x25, 0xEE, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
+ .byte 0x60, 0x00, 0x00, 0x00
+
+ .global MOD12_02244A10
+MOD12_02244A10: ; 0x02244A10
+ .word MOD12_0222E100, MOD12_0222E150, MOD12_0222E1C4
+ .word MOD12_0222E24C, MOD12_0222E250, MOD12_0222E314, MOD12_0222E3A8
+ .word MOD12_0222E3FC, MOD12_0222E460, MOD12_0222E4F8, MOD12_0222E6D4
+ .word MOD12_0222E728, MOD12_0222E748, MOD12_0222EC10, MOD12_0222EC7C
+ .word MOD12_0222EE24
+
+ .global MOD12_02244A50
+MOD12_02244A50: ; 0x02244A50
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x04
- .byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
- .byte 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
+ .byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global MOD12_02244AA4
+MOD12_02244AA4: ; 0x02244AA4
+ .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
+
+ .global MOD12_02244AB4
+MOD12_02244AB4: ; 0x02244AB4
+ .byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
+ .byte 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00
+
+ .global MOD12_02244AC8
+MOD12_02244AC8: ; 0x02244AC8
+ .byte 0x60, 0x00, 0x00, 0x00
.byte 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
- .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
+ .byte 0x08, 0x00, 0x00, 0x00
+
+ .global MOD12_02244AE0
+MOD12_02244AE0: ; 0x02244AE0
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global MOD12_02244AFC
+MOD12_02244AFC: ; 0x02244AFC
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
+
+ .global MOD12_02244B1C
+MOD12_02244B1C: ; 0x02244B1C
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x91, 0xF9, 0x22, 0x02, 0xC5, 0xF9, 0x22, 0x02
- .byte 0x3D, 0xFA, 0x22, 0x02, 0xA1, 0xFA, 0x22, 0x02, 0xB1, 0xFB, 0x22, 0x02, 0x61, 0xFB, 0x22, 0x02
- .byte 0x11, 0xFB, 0x22, 0x02, 0x61, 0xFC, 0x22, 0x02, 0xF1, 0xFC, 0x22, 0x02, 0x21, 0xFD, 0x22, 0x02
- .byte 0xFD, 0xFD, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
+
+ .global MOD12_02244B44
+MOD12_02244B44: ; 0x02244B44
+ .word MOD12_0222F990, MOD12_0222F9C4
+ .word MOD12_0222FA3C, MOD12_0222FAA0, MOD12_0222FBB0, MOD12_0222FB60
+ .word MOD12_0222FB10, MOD12_0222FC60, MOD12_0222FCF0, MOD12_0222FD20
+ .word MOD12_0222FDFC
+
+ .global MOD12_02244B70
+MOD12_02244B70: ; 0x02244B70
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x02, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x01
- .byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
- .byte 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x99, 0x04, 0x78, 0x00
- .byte 0x02, 0x03, 0x04, 0x04, 0x02, 0x02, 0x03, 0x03, 0x9B, 0x04, 0x78, 0x00, 0x02, 0x04, 0x04, 0x04
- .byte 0x02, 0x02, 0x03, 0x03, 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
- .byte 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global MOD12_02244BC4
+MOD12_02244BC4: ; 0x02244BC4
+ .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
+
+ .global MOD12_02244BD4
+MOD12_02244BD4: ; 0x02244BD4
+ .byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
+ .byte 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00
+
+ .global MOD12_02244BE8
+MOD12_02244BE8: ; 0x02244BE8
+ .byte 0x99, 0x04
+
+ .global MOD12_02244BEA
+MOD12_02244BEA: ; 0x02244BEA
+ .byte 0x78, 0x00
+ .byte 0x02
+
+ .global MOD12_02244BED
+MOD12_02244BED: ; 0x02244BED
+ .byte 0x03
+
+ .global MOD12_02244BEE
+MOD12_02244BEE: ; 0x02244BEE
+ .byte 0x04
+
+ .global MOD12_02244BEF
+MOD12_02244BEF: ; 0x02244BEF
+ .byte 0x04
+ .byte 0x02, 0x02, 0x03, 0x03, 0x9B, 0x04, 0x78, 0x00, 0x02, 0x04, 0x04, 0x04
+ .byte 0x02, 0x02, 0x03, 0x03
+
+ .global MOD12_02244C00
+MOD12_02244C00: ; 0x02244C00
+ .byte 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
+ .byte 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
+
+ .global MOD12_02244C18
+MOD12_02244C18: ; 0x02244C18
+ .byte 0x00, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
+ .byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
+
+ .global MOD12_02244C38
+MOD12_02244C38: ; 0x02244C38
+ .byte 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
- .byte 0x60, 0x00, 0x00, 0x00, 0x99, 0x0A, 0x23, 0x02, 0xED, 0x0A, 0x23, 0x02, 0x95, 0x0B, 0x23, 0x02
- .byte 0xE5, 0x0B, 0x23, 0x02, 0xB5, 0x0D, 0x23, 0x02, 0x29, 0x0E, 0x23, 0x02, 0x7D, 0x0E, 0x23, 0x02
- .byte 0xD1, 0x0E, 0x23, 0x02, 0x25, 0x0F, 0x23, 0x02, 0xA9, 0x0F, 0x23, 0x02, 0x61, 0x10, 0x23, 0x02
- .byte 0xC5, 0x10, 0x23, 0x02, 0x49, 0x12, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x60, 0x00, 0x00, 0x00
+
+ .global MOD12_02244C60
+MOD12_02244C60: ; 0x02244C60
+ .word MOD12_02230A98, MOD12_02230AEC, MOD12_02230B94
+ .word MOD12_02230BE4, MOD12_02230DB4, MOD12_02230E28, MOD12_02230E7C
+ .word MOD12_02230ED0, MOD12_02230F24, MOD12_02230FA8, MOD12_02231060
+ .word MOD12_022310C4, MOD12_02231248
+
+ .global MOD12_02244C94
+MOD12_02244C94: ; 0x02244C94
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x06, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0xAC, 0x00
+ .byte 0x03, 0x00, 0x06, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global MOD12_02244CE8
+MOD12_02244CE8: ; 0x02244CE8
+ .byte 0x0D, 0x00, 0xAC, 0x00
.byte 0x80, 0xFE, 0x01, 0x00, 0x25, 0x00, 0xA4, 0x00, 0x00, 0x03, 0x01, 0x00, 0x40, 0x00, 0xB0, 0x00
.byte 0x80, 0xFF, 0x00, 0x00, 0xC0, 0x00, 0xB0, 0x00, 0x80, 0x00, 0x00, 0x00, 0xDB, 0x00, 0xA4, 0x00
- .byte 0x00, 0xFD, 0x01, 0x00, 0xF3, 0x00, 0xAC, 0x00, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0xFD, 0x01, 0x00, 0xF3, 0x00, 0xAC, 0x00, 0x80, 0x01, 0x01, 0x00
+
+ .global MOD12_02244D18
+MOD12_02244D18: ; 0x02244D18
+ .byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -48198,7 +48310,11 @@ _02244988:
.byte 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
.byte 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
- .byte 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
+
+ .global MOD12_02244F64
+MOD12_02244F64: ; 0x02244F64
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
@@ -48237,7 +48353,11 @@ _02244988:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE9, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0xFA, 0x80, 0x00, 0x00, 0xEF, 0x80, 0x00, 0x00, 0xF5, 0x80, 0x00, 0x00
.byte 0xF5, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x0A, 0x0B, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global MOD12_022451D0
+MOD12_022451D0: ; 0x022451D0
+ .byte 0x06, 0x07, 0x0A, 0x0B, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00
.byte 0x16, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x29, 0x00, 0x28, 0x00
.byte 0x24, 0x00, 0x26, 0x00, 0x27, 0x00, 0x00, 0x00, 0x58, 0x00, 0x0C, 0x00, 0x78, 0x00, 0x0C, 0x00
.byte 0x98, 0x00, 0x0C, 0x00, 0x60, 0x00, 0x14, 0x00, 0x80, 0x00, 0x14, 0x00, 0xA0, 0x00, 0x14, 0x00