diff options
-rw-r--r-- | arm9/arm9.lcf | 28 | ||||
-rw-r--r-- | arm9/asm/unk_02006864.s | 12 | ||||
-rw-r--r-- | arm9/asm/unk_02046030.s | 36 | ||||
-rw-r--r-- | arm9/global.inc | 16 | ||||
-rw-r--r-- | arm9/modules/18/asm/module_18.s | 2 | ||||
-rw-r--r-- | arm9/modules/52/asm/module_52.s | 248 | ||||
-rw-r--r-- | global.inc | 2 |
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 @@ -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
|