summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lcf28
-rw-r--r--arm9/asm/unk_02006864.s12
-rw-r--r--arm9/asm/unk_02046030.s36
-rw-r--r--arm9/global.inc16
-rw-r--r--arm9/modules/18/asm/module_18.s2
-rw-r--r--arm9/modules/52/asm/module_52.s248
-rw-r--r--global.inc2
7 files changed, 313 insertions, 31 deletions
diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf
index 1cf77560..bef940ea 100644
--- a/arm9/arm9.lcf
+++ b/arm9/arm9.lcf
@@ -2045,10 +2045,21 @@ SECTIONS {
SDK_OVERLAY.MODULE_51.BSS_SIZE = SDK_OVERLAY.MODULE_51.BSS_END - SDK_OVERLAY.MODULE_51.BSS_START;
} >> MODULE_51
- .MODULE.52: {
+ .MODULE.52 :
+ {
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_52.START = .;
- FILE_299A00.o (.text) /* 0x295A00 */
+ module_52.o (.text)
+ module_52.o (.rodata)
+ module_52.o (.init)
+ SDK_OVERLAY.MODULE_52.SINIT_START = .;
+ module_52.o (.ctor)
+ module_52.o (.sinit)
+ WRITEW 0;
+ SDK_OVERLAY.MODULE_52.SINIT_END = .;
+ . = ALIGN(32);
+ module_52.o (.sdata)
+ module_52.o (.data)
. = ALIGN(32);
SDK_OVERLAY.MODULE_52.END = .;
SDK_OVERLAY.MODULE_52.SIZE = SDK_OVERLAY.MODULE_52.END - SDK_OVERLAY.MODULE_52.START;
@@ -2058,7 +2069,8 @@ SECTIONS {
{
ALIGNALL(4); . = ALIGN(32);
SDK_OVERLAY.MODULE_52.BSS_START = .;
- FILE_299A00.o (.bss)
+ module_52.o (.sbss)
+ module_52.o (.bss)
. = ALIGN(32);
SDK_OVERLAY.MODULE_52.BSS_END = .;
SDK_OVERLAY.MODULE_52.BSS_SIZE = SDK_OVERLAY.MODULE_52.BSS_END - SDK_OVERLAY.MODULE_52.BSS_START;
@@ -3301,7 +3313,15 @@ SECTIONS {
WRITEW SDK_OVERLAY_MODULE_51_ID;
WRITEW 0;
- OVERLAY_TABLE(MODULE_52, 52)
+ WRITEW SDK_OVERLAY_MODULE_52_ID;
+ WRITEW SDK_OVERLAY.MODULE_52.START;
+ WRITEW SDK_OVERLAY.MODULE_52.SIZE;
+ WRITEW SDK_OVERLAY.MODULE_52.BSS_SIZE;
+ WRITEW SDK_OVERLAY.MODULE_52.SINIT_START;
+ WRITEW SDK_OVERLAY.MODULE_52.SINIT_END;
+ WRITEW SDK_OVERLAY_MODULE_52_ID;
+ WRITEW 0;
+
OVERLAY_TABLE(MODULE_53, 53)
OVERLAY_TABLE(MODULE_54, 54)
OVERLAY_TABLE(MODULE_55, 55)
diff --git a/arm9/asm/unk_02006864.s b/arm9/asm/unk_02006864.s
index bcbdc275..10c81b44 100644
--- a/arm9/asm/unk_02006864.s
+++ b/arm9/asm/unk_02006864.s
@@ -106317,8 +106317,8 @@ FUN_02037334: ; 0x02037334
_02037348: .word 0x0000003F
_0203734C: .word 0x021DBAB8
- thumb_func_start FUN_02037350
-FUN_02037350: ; 0x02037350
+ thumb_func_start LoadOverlay_MODULE_05
+LoadOverlay_MODULE_05: ; 0x02037350
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0x0]
@@ -106333,7 +106333,7 @@ _02037360:
beq _0203736C
bl ErrorHandling
_0203736C:
- ldr r0, _0203738C ; =0x00000005
+ ldr r0, _0203738C ; =SDK_OVERLAY_MODULE_05_ID
mov r1, #0x2
bl HandleLoadOverlay
mov r1, #0x0
@@ -106348,7 +106348,7 @@ _0203736C:
str r0, [r1, #0x0]
pop {r4, pc}
.balign 4
-_0203738C: .word 0x00000005
+_0203738C: .word SDK_OVERLAY_MODULE_05_ID
_02037390: .word 0x021F64C8
thumb_func_start FUN_02037394
@@ -106575,7 +106575,7 @@ _02037546:
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _0203756E
- ldr r0, _02037590 ; =0x00000005
+ ldr r0, _02037590 ; =SDK_OVERLAY_MODULE_05_ID
bl UnloadOverlayByID
b _0203756E
_02037562:
@@ -106604,7 +106604,7 @@ _0203758C:
mov r0, #0x0
pop {r4, pc}
.balign 4
-_02037590: .word 0x00000005
+_02037590: .word SDK_OVERLAY_MODULE_05_ID
thumb_func_start FUN_02037594
FUN_02037594: ; 0x02037594
diff --git a/arm9/asm/unk_02046030.s b/arm9/asm/unk_02046030.s
index 5dc4a047..6423479b 100644
--- a/arm9/asm/unk_02046030.s
+++ b/arm9/asm/unk_02046030.s
@@ -597,10 +597,10 @@ _02046496:
thumb_func_start FUN_0204649C
FUN_0204649C: ; 0x0204649C
- ldr r3, _020464A0 ; =FUN_02037350
+ ldr r3, _020464A0 ; =LoadOverlay_MODULE_05
bx r3
.balign 4
-_020464A0: .word FUN_02037350
+_020464A0: .word LoadOverlay_MODULE_05
thumb_func_start FUN_020464A4
FUN_020464A4: ; 0x020464A4
@@ -7225,7 +7225,7 @@ _02049A06:
_02049A14:
mov r0, #0x1
str r0, [r5, #0x6c]
- ldr r0, _02049AC8 ; =0x00000012
+ ldr r0, _02049AC8 ; =SDK_OVERLAY_MODULE_18_ID
mov r1, #0x2
bl HandleLoadOverlay
add r0, r5, #0x0
@@ -7300,7 +7300,7 @@ _02049AB8: .word 0x000003D9
_02049ABC: .word 0x020F46D8
_02049AC0: .word 0x000007F2
_02049AC4: .word 0x000007D5
-_02049AC8: .word 0x00000012
+_02049AC8: .word SDK_OVERLAY_MODULE_18_ID
thumb_func_start FUN_02049ACC
FUN_02049ACC: ; 0x02049ACC
@@ -7386,7 +7386,7 @@ _02049B68:
_02049B76:
mov r0, #0x0
str r0, [r5, #0x6c]
- ldr r0, _02049BE4 ; =0x00000012
+ ldr r0, _02049BE4 ; =SDK_OVERLAY_MODULE_18_ID
bl UnloadOverlayByID
ldr r0, [r4, #0x14]
mov r2, #0x1
@@ -7435,7 +7435,7 @@ _02049BDC:
add sp, #0x8
pop {r4-r6, pc}
nop
-_02049BE4: .word 0x00000012
+_02049BE4: .word SDK_OVERLAY_MODULE_18_ID
thumb_func_start FUN_02049BE8
FUN_02049BE8: ; 0x02049BE8
@@ -137758,40 +137758,40 @@ FUN_02088854: ; 0x02088854
thumb_func_start FUN_02088858
FUN_02088858: ; 0x02088858
ldr r3, _02088860 ; =HandleLoadOverlay
- ldr r0, _02088864 ; =0x00000004
+ ldr r0, _02088864 ; =SDK_OVERLAY_MODULE_04_ID
mov r1, #0x2
bx r3
.balign 4
_02088860: .word HandleLoadOverlay
-_02088864: .word 0x00000004
+_02088864: .word SDK_OVERLAY_MODULE_04_ID
thumb_func_start FUN_02088868
FUN_02088868: ; 0x02088868
ldr r3, _02088870 ; =UnloadOverlayByID
- ldr r0, _02088874 ; =0x00000004
+ ldr r0, _02088874 ; =SDK_OVERLAY_MODULE_04_ID
bx r3
nop
_02088870: .word UnloadOverlayByID
-_02088874: .word 0x00000004
+_02088874: .word SDK_OVERLAY_MODULE_04_ID
thumb_func_start FUN_02088878
FUN_02088878: ; 0x02088878
ldr r3, _02088880 ; =HandleLoadOverlay
- ldr r0, _02088884 ; =0x0000000D
+ ldr r0, _02088884 ; =SDK_OVERLAY_MODULE_13_ID
mov r1, #0x2
bx r3
.balign 4
_02088880: .word HandleLoadOverlay
-_02088884: .word 0x0000000D
+_02088884: .word SDK_OVERLAY_MODULE_13_ID
thumb_func_start FUN_02088888
FUN_02088888: ; 0x02088888
ldr r3, _02088890 ; =UnloadOverlayByID
- ldr r0, _02088894 ; =0x0000000D
+ ldr r0, _02088894 ; =SDK_OVERLAY_MODULE_13_ID
bx r3
nop
_02088890: .word UnloadOverlayByID
-_02088894: .word 0x0000000D
+_02088894: .word SDK_OVERLAY_MODULE_13_ID
thumb_func_start FUN_02088898
FUN_02088898: ; 0x02088898
@@ -137811,21 +137811,21 @@ FUN_02088898: ; 0x02088898
thumb_func_start FUN_020888BC
FUN_020888BC: ; 0x020888BC
ldr r3, _020888C4 ; =HandleLoadOverlay
- ldr r0, _020888C8 ; =0x0000004F
+ ldr r0, _020888C8 ; =SDK_OVERLAY_MODULE_79_ID
mov r1, #0x2
bx r3
.balign 4
_020888C4: .word HandleLoadOverlay
-_020888C8: .word 0x0000004F
+_020888C8: .word SDK_OVERLAY_MODULE_79_ID
thumb_func_start FUN_020888CC
FUN_020888CC: ; 0x020888CC
ldr r3, _020888D4 ; =UnloadOverlayByID
- ldr r0, _020888D8 ; =0x0000004F
+ ldr r0, _020888D8 ; =SDK_OVERLAY_MODULE_79_ID
bx r3
nop
_020888D4: .word UnloadOverlayByID
-_020888D8: .word 0x0000004F
+_020888D8: .word SDK_OVERLAY_MODULE_79_ID
thumb_func_start FUN_020888DC
FUN_020888DC: ; 0x020888DC
diff --git a/arm9/global.inc b/arm9/global.inc
index 909ea0f7..aa94eac7 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -1122,7 +1122,7 @@
.extern FUN_02036D94
.extern FUN_02036DD4
.extern FUN_02037024
-.extern FUN_02037350
+.extern LoadOverlay_MODULE_05
.extern FUN_02037394
.extern FUN_0203739C
.extern FUN_020373AC
@@ -5571,6 +5571,20 @@
.extern FUN_020254F8
.extern FUN_0202EF70
.extern FUN_02052CF0
+.extern FUN_02015E3C
+.extern FUN_020226FC
+.extern FUN_020227DC
+.extern FUN_020237A0
+.extern FUN_020237CC
+.extern FUN_020237FC
+.extern FUN_02023840
+.extern FUN_020238A4
+.extern FUN_020239B8
+.extern FUN_02023A14
+.extern FUN_02024F9C
+.extern FUN_020250C4
+.extern FUN_020377E0
+.extern FUN_0206007C
.extern SDK_OVERLAY_MODULE_00_ID
.extern SDK_OVERLAY_MODULE_01_ID
.extern SDK_OVERLAY_MODULE_02_ID
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index e73fc56e..a2d31b86 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -26764,7 +26764,7 @@ MOD18_022464D0: ; 0x022464D0
b _0224650E
_022464EE:
add r0, r5, #0
- bl FUN_02037350
+ bl LoadOverlay_MODULE_05
ldr r0, [r4, #0x10]
add r0, r0, #1
str r0, [r4, #0x10]
diff --git a/arm9/modules/52/asm/module_52.s b/arm9/modules/52/asm/module_52.s
new file mode 100644
index 00000000..b40034fb
--- /dev/null
+++ b/arm9/modules/52/asm/module_52.s
@@ -0,0 +1,248 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD52_021D74E0
+MOD52_021D74E0: ; 0x021D74E0
+ push {r3, lr}
+ mov r2, #2
+ mov r0, #3
+ mov r1, #0x4d
+ lsl r2, r2, #0x10
+ bl FUN_0201681C
+ bl FUN_02000FA4
+ mov r0, #1
+ pop {r3, pc}
+ .align 2, 0
+ thumb_func_end MOD52_021D74E0
+
+ thumb_func_start MOD52_021D74F8
+MOD52_021D74F8: ; 0x021D74F8
+ push {r3, lr}
+ bl FUN_0200628C
+ ldr r1, [r0, #8]
+ mov r0, #0x4d
+ bl MOD52_021D769C
+ mov r0, #1
+ pop {r3, pc}
+ .align 2, 0
+ thumb_func_end MOD52_021D74F8
+
+ thumb_func_start MOD52_021D750C
+MOD52_021D750C: ; 0x021D750C
+ push {r3, lr}
+ mov r0, #0x4d
+ bl FUN_020168D0
+ mov r0, #0
+ ldr r1, _021D7524 ; =0x020FD144
+ mvn r0, r0
+ bl FUN_02000E7C
+ mov r0, #1
+ pop {r3, pc}
+ nop
+_021D7524: .word 0x020FD144
+ thumb_func_end MOD52_021D750C
+
+ thumb_func_start MOD52_021D7528
+MOD52_021D7528: ; 0x021D7528
+ push {r3, lr}
+ mov r2, #2
+ mov r0, #3
+ mov r1, #0x4d
+ lsl r2, r2, #0x10
+ bl FUN_0201681C
+ bl FUN_02000FA4
+ mov r0, #1
+ pop {r3, pc}
+ .align 2, 0
+ thumb_func_end MOD52_021D7528
+
+ thumb_func_start MOD52_021D7540
+MOD52_021D7540: ; 0x021D7540
+ push {r4, lr}
+ bl FUN_0200628C
+ ldr r4, [r0, #8]
+ mov r0, #0x4d
+ add r1, r4, #0
+ mov r2, #1
+ bl MOD52_021D7604
+ add r0, r4, #0
+ bl FUN_02023918
+ bl FUN_02015E3C
+ mov r0, #1
+ pop {r4, pc}
+ thumb_func_end MOD52_021D7540
+
+ thumb_func_start MOD52_021D7560
+MOD52_021D7560: ; 0x021D7560
+ push {r3, lr}
+ mov r0, #0x4d
+ bl FUN_020168D0
+ mov r0, #0
+ ldr r1, _021D7578 ; =0x020F2B7C
+ mvn r0, r0
+ bl FUN_02000E7C
+ mov r0, #1
+ pop {r3, pc}
+ nop
+_021D7578: .word 0x020F2B7C
+ thumb_func_end MOD52_021D7560
+
+ thumb_func_start MOD52_021D757C
+MOD52_021D757C: ; 0x021D757C
+ push {r3, lr}
+ mov r2, #2
+ mov r0, #3
+ mov r1, #0x4d
+ lsl r2, r2, #0x10
+ bl FUN_0201681C
+ bl FUN_02000FA4
+ mov r0, #1
+ pop {r3, pc}
+ .align 2, 0
+ thumb_func_end MOD52_021D757C
+
+ thumb_func_start MOD52_021D7594
+MOD52_021D7594: ; 0x021D7594
+ push {r3, r4, r5, lr}
+ bl FUN_0200628C
+ ldr r4, [r0, #8]
+ add r0, r4, #0
+ bl FUN_02023788
+ add r5, r0, #0
+ mov r0, #0x4d
+ add r1, r4, #0
+ bl MOD52_021D7688
+ add r0, r4, #0
+ mov r1, #0
+ bl FUN_02024F9C
+ add r0, r5, #0
+ bl FUN_020237CC
+ cmp r0, #0
+ beq _021D75C8
+ add r0, r5, #0
+ bl FUN_020237FC
+ cmp r0, #0
+ bne _021D75D8
+_021D75C8:
+ add r0, r4, #0
+ bl FUN_02023794
+ bl FUN_020238A4
+ add r0, r5, #0
+ bl FUN_020237A0
+_021D75D8:
+ add r0, r4, #0
+ bl FUN_02023918
+ bl FUN_02015E3C
+ mov r0, #1
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+ thumb_func_end MOD52_021D7594
+
+ thumb_func_start MOD52_021D75E8
+MOD52_021D75E8: ; 0x021D75E8
+ push {r3, lr}
+ mov r0, #0x4d
+ bl FUN_020168D0
+ mov r0, #0
+ ldr r1, _021D7600 ; =0x020F2B8C
+ mvn r0, r0
+ bl FUN_02000E7C
+ mov r0, #1
+ pop {r3, pc}
+ nop
+_021D7600: .word 0x020F2B8C
+ thumb_func_end MOD52_021D75E8
+
+ thumb_func_start MOD52_021D7604
+MOD52_021D7604: ; 0x021D7604
+ push {r3, r4, r5, r6, r7, lr}
+ add r5, r1, #0
+ str r0, [sp]
+ add r0, r5, #0
+ add r6, r2, #0
+ bl FUN_02023788
+ bl FUN_020237A0
+ add r0, r5, #0
+ bl FUN_02023794
+ bl FUN_02023840
+ add r0, r5, #0
+ bl FUN_0202881C
+ add r4, r0, #0
+ bl FUN_0201BA60
+ add r2, r0, #0
+ add r0, r4, #0
+ mov r1, #1
+ bl FUN_02028788
+ add r0, r5, #0
+ bl FUN_0206007C
+ add r0, r5, #0
+ bl FUN_020238F4
+ add r4, r0, #0
+ bl FUN_0201BA60
+ add r7, r0, #0
+ cmp r6, #0
+ beq _021D7656
+ add r0, r4, #0
+ add r1, r7, #0
+ bl FUN_020239B8
+_021D7656:
+ add r0, r4, #0
+ bl FUN_020239CC
+ add r1, r0, #0
+ add r0, r7, #0
+ mov r2, #0
+ bl FUN_02053678
+ add r1, r0, #0
+ lsl r1, r1, #0x18
+ add r0, r4, #0
+ lsr r1, r1, #0x18
+ bl FUN_02023A2C
+ add r0, r5, #0
+ bl FUN_02024ECC
+ ldr r1, [sp]
+ ldr r2, _021D7684 ; =0x021D76F8
+ mov r3, #0x76
+ bl FUN_020250C4
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_021D7684: .word 0x021D76F8
+ thumb_func_end MOD52_021D7604
+
+ thumb_func_start MOD52_021D7688
+MOD52_021D7688: ; 0x021D7688
+ push {r3, lr}
+ add r0, r1, #0
+ bl FUN_020226FC
+ cmp r0, #0
+ bne _021D769A
+ mov r0, #0
+ bl OS_ResetSystem
+_021D769A:
+ pop {r3, pc}
+ thumb_func_end MOD52_021D7688
+
+ thumb_func_start MOD52_021D769C
+MOD52_021D769C: ; 0x021D769C
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ bl FUN_020227DC
+ add r0, r4, #0
+ bl FUN_020377E0
+ add r0, r4, #0
+ bl FUN_020238F4
+ ldr r1, _021D76C4 ; =0x00000BB8
+ bl FUN_02023A14
+ add r0, r4, #0
+ bl FUN_020462AC
+ bl FUN_0205ECD4
+ pop {r4, pc}
+ .align 2, 0
+_021D76C4: .word 0x00000BB8
+ thumb_func_end MOD52_021D769C
+
+ .section .rodata
+ ; 0x021D76C8
+ .incbin "baserom.nds", 0x299BE8, 0x208
diff --git a/global.inc b/global.inc
index 7fe1f458..ddf73a30 100644
--- a/global.inc
+++ b/global.inc
@@ -1120,7 +1120,7 @@
.extern FUN_02036D94
.extern FUN_02036DD4
.extern FUN_02037024
-.extern FUN_02037350
+.extern LoadOverlay_MODULE_05
.extern FUN_02037394
.extern FUN_0203739C
.extern FUN_020373AC