diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-05 10:55:17 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-05 10:55:17 -0400 |
commit | 4a8d96e702d1a8b123f51a401376e1aa2a327d44 (patch) | |
tree | dba1eab0a7ad3180fcd81ec4dfd9884dc67998d0 | |
parent | 9b27fabf57bae17c2ae1b3763315a0dc9b3f8335 (diff) |
Disassemble module 19
-rw-r--r-- | arm9/arm9.lcf | 16 | ||||
-rw-r--r-- | arm9/modules/19/asm/module_19.s | 106 |
2 files changed, 120 insertions, 2 deletions
diff --git a/arm9/arm9.lcf b/arm9/arm9.lcf index 7664e03d..b591dd9a 100644 --- a/arm9/arm9.lcf +++ b/arm9/arm9.lcf @@ -29,7 +29,7 @@ MEMORY { MODULE_16 (RWX) : ORIGIN=0x021D74E0, LENGTH=0 MODULE_17 (RWX) : ORIGIN=0x021D74E0, LENGTH=0 MODULE_18 (RWX) : ORIGIN=0x022396A0, LENGTH=0 - MODULE_19 (RWX) : ORIGIN=0, LENGTH=0 + MODULE_19 (RWX) : ORIGIN=0x02252440, LENGTH=0 MODULE_20 (RWX) : ORIGIN=0, LENGTH=0 MODULE_21 (RWX) : ORIGIN=0, LENGTH=0 MODULE_22 (RWX) : ORIGIN=0, LENGTH=0 @@ -603,7 +603,19 @@ SECTIONS { module_18.o (.bss) } >> MODULE_18 - OVERLAY_FILE(19, 0x27F000, FILE_283000.o) + .MODULE.19 : AT (0x27F000) + { + module_19.o (.text) + module_19.o (.sdata) + module_19.o (.data) + } > MODULE_19 + + .MODULE.19.bss : + { + module_19.o (.sbss) + module_19.o (.bss) + } >> MODULE_19 + OVERLAY_FILE(20, 0x27F200, FILE_283200.o) OVERLAY_FILE(21, 0x281600, FILE_285600.o) OVERLAY_FILE(22, 0x281C00, FILE_285C00.o) diff --git a/arm9/modules/19/asm/module_19.s b/arm9/modules/19/asm/module_19.s new file mode 100644 index 00000000..76dad3e4 --- /dev/null +++ b/arm9/modules/19/asm/module_19.s @@ -0,0 +1,106 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD19_02252440 +MOD19_02252440: ; 0x02252440 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0 + mov r0, #3 + mov r1, #8 + lsl r2, r0, #0xf + bl FUN_0201681C + mov r0, #0 + bl GXS_SetGraphicsMode + mov r0, #0x80 + bl GX_SetBankForSubBG + mov r0, #1 + lsl r0, r0, #8 + bl GX_SetBankForSubOBJ + ldr r2, _022524E0 ; =0x04001000 + ldr r0, _022524E4 ; =0xFFCFFFEF + ldr r1, [r2] + mov r3, #0 + and r1, r0 + mov r0, #0x10 + orr r0, r1 + str r0, [r2] + ldr r2, _022524E8 ; =0x02252508 + add r0, r4, #0 + mov r1, #4 + bl FUN_02016C18 + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #8 + str r0, [sp, #0xc] + mov r0, #0xc + mov r1, #0xa + add r2, r4, #0 + mov r3, #4 + bl FUN_0200687C + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #8 + str r0, [sp, #0xc] + mov r0, #0xc + mov r1, #0xb + add r2, r4, #0 + mov r3, #4 + bl FUN_020068C8 + mov r0, #0x20 + str r0, [sp] + mov r0, #8 + str r0, [sp, #4] + mov r0, #0xc + add r1, r0, #0 + mov r2, #4 + mov r3, #0 + bl FUN_02006930 + ldr r2, _022524E0 ; =0x04001000 + ldr r0, _022524EC ; =0xFFFF1FFF + ldr r1, [r2] + and r0, r1 + str r0, [r2] + ldr r1, [r2] + ldr r0, _022524F0 ; =0xFFFFE0FF + and r1, r0 + lsr r0, r2, #0x12 + orr r0, r1 + str r0, [r2] + add sp, #0x10 + pop {r4, pc} + .align 2, 0 +_022524E0: .word 0x04001000 +_022524E4: .word 0xFFCFFFEF +_022524E8: .word 0x02252508 +_022524EC: .word 0xFFFF1FFF +_022524F0: .word 0xFFFFE0FF + thumb_func_end MOD19_02252440 + + thumb_func_start MOD19_022524F4 +MOD19_022524F4: ; 0x022524F4 + push {r3, lr} + mov r1, #4 + bl FUN_020178A0 + mov r0, #8 + bl FUN_020168D0 + pop {r3, pc} + thumb_func_end MOD19_022524F4 + + thumb_func_start MOD19_02252504 +MOD19_02252504: ; 0x02252504 + mov r0, #1 + bx lr + thumb_func_end MOD19_02252504 + + .section .data + ; 0x02252508 + .incbin "baserom.nds", 0x2830C8, 0x38 |