Disassemble module 52; use SDK_OVERLAY_*_ID constants some more

This commit is contained in:
PikalaxALT
2020-05-12 10:35:52 -04:00
parent 06d9754567
commit f04a3496f5
7 changed files with 313 additions and 31 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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]

View File

@@ -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

View File

@@ -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