diff options
Diffstat (limited to 'arm9/modules/05/asm/mod05_021E8860.s')
-rw-r--r-- | arm9/modules/05/asm/mod05_021E8860.s | 77 |
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 |