summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/arm9.lcf16
-rw-r--r--arm9/modules/19/asm/module_19.s106
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