summaryrefslogtreecommitdiff
path: root/arm9/modules/05/asm/mod05_021E8860.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/modules/05/asm/mod05_021E8860.s')
-rw-r--r--arm9/modules/05/asm/mod05_021E8860.s77
1 files changed, 77 insertions, 0 deletions
diff --git a/arm9/modules/05/asm/mod05_021E8860.s b/arm9/modules/05/asm/mod05_021E8860.s
new file mode 100644
index 00000000..2adced2f
--- /dev/null
+++ b/arm9/modules/05/asm/mod05_021E8860.s
@@ -0,0 +1,77 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD05_021E8860
+MOD05_021E8860: ; 0x021E8860
+ push {r4, r5, r6, r7, lr}
+ sub sp, #0x2c
+ add r5, r0, #0
+ add r4, r1, #0
+ mov r0, #2
+ mov r1, #0
+ bl GX_EngineAToggleLayers
+ mov r0, #4
+ mov r1, #0
+ bl GX_EngineAToggleLayers
+ mov r0, #8
+ mov r1, #0
+ bl GX_EngineAToggleLayers
+ bl GX_ResetBankForBG
+ mov r0, #4
+ add r1, r0, #0
+ bl AllocFromHeap
+ add r7, r0, #0
+ mov r0, #0
+ add r1, r7, #0
+ mov r2, #4
+ bl MIi_CpuClear32
+ ldr r6, _021E88BC ; =UNK05_021F78E4
+ add r3, sp, #0
+ mov r2, #5
+_021E889E:
+ ldmia r6!, {r0, r1}
+ stmia r3!, {r0, r1}
+ sub r2, r2, #1
+ bne _021E889E
+ ldr r0, [r6]
+ str r0, [r3]
+ add r0, sp, #0
+ str r5, [sp, #0x20]
+ str r4, [sp, #0x24]
+ bl MOD05_021E8648
+ str r0, [r7]
+ add r0, r7, #0
+ add sp, #0x2c
+ pop {r4, r5, r6, r7, pc}
+ .balign 4, 0
+_021E88BC: .word UNK05_021F78E4
+
+ thumb_func_start MOD05_021E88C0
+MOD05_021E88C0: ; 0x021E88C0
+ push {r4, lr}
+ add r4, r0, #0
+ mov r1, #1
+ ldr r0, [r4]
+ mov r2, #0
+ add r3, r1, #0
+ bl MOD05_021E8698
+ mov r0, #4
+ bl GX_SetBankForBG
+ mov r0, #0xe
+ mov r1, #1
+ bl GX_EngineAToggleLayers
+ ldr r1, [r4]
+ mov r0, #4
+ bl FreeToHeapExplicit
+ pop {r4, pc}
+
+ .section .rodata
+
+ .global UNK05_021F78E4
+UNK05_021F78E4: ; 0x021F78E4
+ .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00