diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-02 11:05:28 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-05-02 11:07:13 -0400 |
commit | c35f1055e375cb66c0d231c8eafa39f4aad42da3 (patch) | |
tree | b0c6d2e40dec7142a760f9482feebbf7c6f62921 | |
parent | e171998bf5f54fac757b3104ef20dfb4349f5720 (diff) |
Finish module 05 code dism
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 327 |
1 files changed, 325 insertions, 2 deletions
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 923c69e4..c5cb3088 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -63625,9 +63625,332 @@ _021F61D0: .word 0x000001BD _021F61D4: .word 0x000001BE _021F61D8: .word 0x000001BF + thumb_func_start MOD05_021F61DC +MOD05_021F61DC: ; 0x021F61DC + lsl r1, r0, #2 + ldr r0, _021F61E4 ; =0x021FCA00 + ldrh r0, [r0, r1] + bx lr + .align 2, 0 +_021F61E4: .word 0x021FCA00 + + thumb_func_start MOD05_021F61E8 +MOD05_021F61E8: ; 0x021F61E8 + lsl r1, r0, #2 + ldr r0, _021F61F0 ; =0x021FCA02 + ldrh r0, [r0, r1] + bx lr + .align 2, 0 +_021F61F0: .word 0x021FCA02 + + thumb_func_start MOD05_021F61F4 +MOD05_021F61F4: ; 0x021F61F4 + push {r4, r5, r6, lr} + add r6, r1, #0 + add r5, r0, #0 + add r0, r6, #0 + mov r1, #0x34 + bl FUN_020169D8 + add r4, r0, #0 + mov r1, #0 + mov r2, #0x34 + bl Call_FillMemWithValue + str r6, [r4] + mov r0, #0 + str r0, [r4, #0xc] + str r5, [r4, #0x2c] + ldr r0, [r5, #0x20] + str r0, [r4, #0x30] + bl FUN_0201F010 + str r0, [r4, #0x10] + str r0, [r4, #0x20] + ldr r0, _021F622C ; =MOD05_021F6270 + ldr r2, _021F6230 ; =0x0000FFFF + add r1, r4, #0 + bl FUN_0200CA44 + pop {r4, r5, r6, pc} + .align 2, 0 +_021F622C: .word MOD05_021F6270 +_021F6230: .word 0x0000FFFF + + thumb_func_start MOD05_021F6234 +MOD05_021F6234: ; 0x021F6234 + push {r3, lr} + bl FUN_0201B6C8 + ldr r0, [r0, #8] + pop {r3, pc} + .align 2, 0 + + thumb_func_start MOD05_021F6240 +MOD05_021F6240: ; 0x021F6240 + push {r4, lr} + add r4, r0, #0 + bl FUN_0201B6C8 + bl FUN_02016A18 + add r0, r4, #0 + bl FUN_0200CAB4 + pop {r4, pc} + + thumb_func_start MOD05_021F6254 +MOD05_021F6254: ; 0x021F6254 + push {r4, r5, r6, lr} + add r5, r1, #0 + add r4, r2, #0 + add r6, r3, #0 + bl FUN_0201B6C8 + mov r1, #0 + str r1, [r0, #4] + str r1, [r0, #8] + str r5, [r0, #0xc] + str r4, [r0, #0x14] + str r6, [r0, #0x1c] + str r1, [r0, #0x24] + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021F6270 +MOD05_021F6270: ; 0x021F6270 + push {r3, lr} + add r0, r1, #0 + ldr r1, [r1, #0xc] + lsl r2, r1, #2 + ldr r1, _021F6280 ; =0x021FD1B8 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + .align 2, 0 +_021F6280: .word 0x021FD1B8 + + thumb_func_start MOD05_021F6284 +MOD05_021F6284: ; 0x021F6284 + mov r1, #1 + str r1, [r0, #8] + bx lr + .align 2, 0 + + thumb_func_start MOD05_021F628C +MOD05_021F628C: ; 0x021F628C + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4, #4] + cmp r1, #0 + beq _021F629C + cmp r1, #1 + beq _021F62A6 + pop {r4, pc} +_021F629C: + bl MOD05_021F630C + ldr r0, [r4, #4] + add r0, r0, #1 + str r0, [r4, #4] +_021F62A6: + add r0, r4, #0 + bl MOD05_021F633C + cmp r0, #1 + bne _021F62BA + ldr r0, [r4, #4] + add r0, r0, #1 + str r0, [r4, #4] + mov r0, #1 + str r0, [r4, #8] +_021F62BA: + add r0, r4, #0 + bl MOD05_021F62FC + pop {r4, pc} + .align 2, 0 + + thumb_func_start MOD05_021F62C4 +MOD05_021F62C4: ; 0x021F62C4 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4, #4] + cmp r1, #0 + beq _021F62D4 + cmp r1, #1 + beq _021F62DE + pop {r4, pc} +_021F62D4: + bl MOD05_021F6324 + ldr r0, [r4, #4] + add r0, r0, #1 + str r0, [r4, #4] +_021F62DE: + add r0, r4, #0 + bl MOD05_021F633C + cmp r0, #1 + bne _021F62F2 + ldr r0, [r4, #4] + add r0, r0, #1 + str r0, [r4, #4] + mov r0, #1 + str r0, [r4, #8] +_021F62F2: + add r0, r4, #0 + bl MOD05_021F62FC + pop {r4, pc} + .align 2, 0 + + thumb_func_start MOD05_021F62FC +MOD05_021F62FC: ; 0x021F62FC + ldr r3, _021F6308 ; =0x0201EFE1 + add r1, r0, #0 + ldr r0, [r1, #0x20] + ldr r1, [r1, #0x30] + bx r3 + nop +_021F6308: .word 0x0201EFE1 + + thumb_func_start MOD05_021F630C +MOD05_021F630C: ; 0x021F630C + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x14] + ldr r1, [r4, #0x1c] + bl _s32_div_f + str r0, [r4, #0x28] + ldr r1, [r4, #0x20] + ldr r0, [r4, #0x14] + add r0, r1, r0 + str r0, [r4, #0x18] + pop {r4, pc} + + thumb_func_start MOD05_021F6324 +MOD05_021F6324: ; 0x021F6324 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4, #0x10] + ldr r0, [r4, #0x20] + sub r0, r1, r0 + ldr r1, [r4, #0x1c] + bl _s32_div_f + str r0, [r4, #0x28] + ldr r0, [r4, #0x10] + str r0, [r4, #0x18] + pop {r4, pc} + + thumb_func_start MOD05_021F633C +MOD05_021F633C: ; 0x021F633C + ldr r2, [r0, #0x20] + ldr r1, [r0, #0x28] + add r1, r2, r1 + str r1, [r0, #0x20] + ldr r1, [r0, #0x24] + add r2, r1, #1 + str r2, [r0, #0x24] + ldr r1, [r0, #0x1c] + cmp r2, r1 + blo _021F635A + str r1, [r0, #0x24] + ldr r1, [r0, #0x18] + str r1, [r0, #0x20] + mov r0, #1 + bx lr +_021F635A: + mov r0, #0 + bx lr + .align 2, 0 + + thumb_func_start MOD05_021F6360 +MOD05_021F6360: ; 0x021F6360 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + bl FUN_02046528 + str r0, [sp] + add r0, r7, #0 + bl FUN_0204652C + add r6, r0, #0 + add r0, r7, #0 + bl FUN_02046530 + add r4, r0, #0 + ldr r0, [r4] + ldr r5, [r6, #4] + cmp r0, #5 + bhi _021F6424 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_021F638E: ; jump table + .short _021F639A - _021F638E - 2 ; case 0 + .short _021F63AC - _021F638E - 2 ; case 1 + .short _021F63CC - _021F638E - 2 ; case 2 + .short _021F63EA - _021F638E - 2 ; case 3 + .short _021F6402 - _021F638E - 2 ; case 4 + .short _021F6414 - _021F638E - 2 ; case 5 +_021F639A: + mov r0, #0xb + mov r1, #8 + bl FUN_020169D8 + str r0, [r6, #4] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021F6424 +_021F63AC: + bl MOD05_021F57EC + add r6, r0, #0 + mov r0, #0xb + add r1, r6, #0 + bl FUN_020169D8 + str r0, [r5, #4] + mov r1, #0 + add r2, r6, #0 + bl Call_FillMemWithValue + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021F6424 +_021F63CC: + ldr r0, [sp] + ldr r0, [r0, #0x38] + bl FUN_020553E8 + add r3, r0, #0 + ldr r0, [sp] + ldr r2, [r6] + mov r1, #0 + bl FUN_0224666C + str r0, [r5] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021F6424 +_021F63EA: + ldr r0, [r5] + bl FUN_022466A0 + cmp r0, #0 + beq _021F6424 + ldr r0, [r5] + bl FUN_022466AC + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021F6424 +_021F6402: + ldr r1, _021F6428 ; =MOD05_021F57F0 + ldr r2, [r5, #4] + add r0, r7, #0 + bl FUN_0204640C + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021F6424 +_021F6414: + add r0, r5, #0 + bl FUN_02016A18 + add r0, r6, #0 + bl FUN_02016A18 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021F6424: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .align 2, 0 +_021F6428: .word MOD05_021F57F0 + .section .data - ; 0x021F61DC - .incbin "baserom.nds", 0x1640fc, 0x74a4 + ; 0x021F642C + .incbin "baserom.nds", 0x16434c, 0x7254 .section .bss ; 0x021FD680 |