diff options
-rw-r--r-- | arm9/arm9.lsf | 3 | ||||
-rw-r--r-- | arm9/global.inc | 8 | ||||
-rw-r--r-- | arm9/modules/44/asm/mod44_02254854.s | 297 | ||||
-rw-r--r-- | arm9/modules/44/asm/mod44_02254A54.s (renamed from arm9/modules/44/asm/module_44.s) | 291 |
4 files changed, 307 insertions, 292 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 3f9b8806..c88b88f0 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -984,7 +984,8 @@ Overlay MODULE_44 { After MODULE_20 Object module_44_sinit.o - Object module_44.o + Object mod44_02254854.o + Object mod44_02254A54.o } Overlay MODULE_45 diff --git a/arm9/global.inc b/arm9/global.inc index 350ae6d2..96c0e659 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -7451,6 +7451,14 @@ .extern MOD33_02254A18 .extern MOD33_02254A38 .extern MOD33_02254AD8 +.extern MOD44_02254A54 +.extern MOD44_02254B00 +.extern MOD44_02254B14 +.extern MOD44_02254B38 +.extern MOD44_02254B44 +.extern MOD44_02254B64 +.extern MOD44_02254BF8 +.extern MOD44_02254C14 .extern MOD46_022549AC .extern MOD46_022549DC .extern MOD46_022549E8 diff --git a/arm9/modules/44/asm/mod44_02254854.s b/arm9/modules/44/asm/mod44_02254854.s new file mode 100644 index 00000000..5abb4074 --- /dev/null +++ b/arm9/modules/44/asm/mod44_02254854.s @@ -0,0 +1,297 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD44_02254854 +MOD44_02254854: ; 0x02254854 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r0, #8 + mov r1, #0x14 + add r7, r2, #0 + str r3, [sp] + bl AllocFromHeap + add r4, r0, #0 + beq _02254892 + ldr r3, [sp] + add r1, r6, #0 + add r2, r7, #0 + bl MOD44_0225489C + cmp r0, #0 + beq _0225488C + ldr r0, _02254898 ; =MOD44_022548EC + add r1, r4, #0 + mov r2, #1 + bl FUN_0200CA44 + cmp r0, #0 + beq _0225488C + str r4, [r5] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0225488C: + add r0, r4, #0 + bl FreeToHeap +_02254892: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_02254898: .word MOD44_022548EC + thumb_func_end MOD44_02254854 + + thumb_func_start MOD44_0225489C +MOD44_0225489C: ; 0x0225489C + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r0, r4, #0 + add r6, r2, #0 + bl MOD20_02252C3C + str r0, [r5, #0x10] + bl Sav2_Poketch_GetScreenTint + str r0, [r5, #4] + strb r0, [r5, #3] + add r0, r5, #0 + add r0, #8 + add r1, r5, #4 + add r2, r6, #0 + bl MOD44_02254A54 + cmp r0, #0 + beq _022548D2 + mov r0, #0 + strb r0, [r5] + strb r0, [r5, #1] + strb r0, [r5, #2] + str r4, [r5, #0xc] + mov r0, #1 + pop {r4, r5, r6, pc} +_022548D2: + mov r0, #0 + pop {r4, r5, r6, pc} + .align 2, 0 + thumb_func_end MOD44_0225489C + + thumb_func_start MOD44_022548D8 +MOD44_022548D8: ; 0x022548D8 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #8] + bl MOD44_02254B00 + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD44_022548D8 + + thumb_func_start MOD44_022548EC +MOD44_022548EC: ; 0x022548EC + push {r3, r4, r5, lr} + add r4, r1, #0 + ldrb r1, [r4] + add r5, r0, #0 + cmp r1, #3 + bhs _02254918 + lsl r2, r1, #2 + ldr r1, _0225491C ; =MOD44_02254C54 + add r0, r4, #0 + ldr r1, [r1, r2] + blx r1 + cmp r0, #0 + beq _02254918 + add r0, r4, #0 + bl MOD44_022548D8 + add r0, r5, #0 + bl FUN_0200CAB4 + ldr r0, [r4, #0xc] + bl MOD20_022529A0 +_02254918: + pop {r3, r4, r5, pc} + nop +_0225491C: .word MOD44_02254C54 + thumb_func_end MOD44_022548EC + + thumb_func_start MOD44_02254920 +MOD44_02254920: ; 0x02254920 + mov r1, #1 + strb r1, [r0, #2] + bx lr + .align 2, 0 + thumb_func_end MOD44_02254920 + + thumb_func_start MOD44_02254928 +MOD44_02254928: ; 0x02254928 + ldrb r2, [r0, #2] + cmp r2, #0 + bne _02254930 + b _02254932 +_02254930: + mov r1, #2 +_02254932: + strb r1, [r0] + mov r1, #0 + strb r1, [r0, #1] + bx lr + .align 2, 0 + thumb_func_end MOD44_02254928 + + thumb_func_start MOD44_0225493C +MOD44_0225493C: ; 0x0225493C + push {r4, lr} + add r4, r0, #0 + ldrb r0, [r4, #1] + cmp r0, #0 + beq _0225494C + cmp r0, #1 + beq _0225495C + b _02254976 +_0225494C: + ldr r0, [r4, #8] + mov r1, #0 + bl MOD44_02254B14 + ldrb r0, [r4, #1] + add r0, r0, #1 + strb r0, [r4, #1] + b _02254976 +_0225495C: + ldr r0, [r4, #8] + mov r1, #0 + bl MOD44_02254B38 + cmp r0, #0 + beq _02254976 + ldr r0, [r4, #0xc] + bl MOD20_0225298C + add r0, r4, #0 + mov r1, #1 + bl MOD44_02254928 +_02254976: + mov r0, #0 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD44_0225493C + + thumb_func_start MOD44_0225497C +MOD44_0225497C: ; 0x0225497C + push {r4, lr} + add r4, r0, #0 + ldrb r1, [r4, #2] + cmp r1, #0 + beq _02254990 + mov r1, #2 + bl MOD44_02254928 + mov r0, #0 + pop {r4, pc} +_02254990: + ldrb r1, [r4, #1] + cmp r1, #0 + beq _0225499C + cmp r1, #1 + beq _022549B4 + b _022549C4 +_0225499C: + bl MOD44_022549C8 + cmp r0, #0 + beq _022549C4 + ldr r0, [r4, #8] + mov r1, #2 + bl MOD44_02254B14 + ldrb r0, [r4, #1] + add r0, r0, #1 + strb r0, [r4, #1] + b _022549C4 +_022549B4: + ldr r0, [r4, #8] + mov r1, #2 + bl MOD44_02254B38 + cmp r0, #0 + beq _022549C4 + mov r0, #0 + strb r0, [r4, #1] +_022549C4: + mov r0, #0 + pop {r4, pc} + thumb_func_end MOD44_0225497C + + thumb_func_start MOD44_022549C8 +MOD44_022549C8: ; 0x022549C8 + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl MOD20_02252C08 + cmp r0, #0 + bne _02254A18 + add r0, sp, #4 + add r1, sp, #0 + bl FUN_02020AB0 + cmp r0, #0 + beq _02254A18 + ldr r0, [sp] + cmp r0, #0x88 + blo _02254A18 + cmp r0, #0xa0 + bhs _02254A18 + ldr r0, [sp, #4] + cmp r0, #0x30 + blo _02254A18 + cmp r0, #0xb8 + bhs _02254A18 + sub r0, #0x30 + lsr r1, r0, #4 + cmp r1, #8 + blo _02254A02 + mov r1, #7 +_02254A02: + ldrb r0, [r4, #3] + cmp r1, r0 + beq _02254A18 + str r1, [r4, #4] + strb r1, [r4, #3] + ldr r0, [r4, #0x10] + bl Sav2_Poketch_SetScreenTint + add sp, #8 + mov r0, #1 + pop {r4, pc} +_02254A18: + mov r0, #0 + add sp, #8 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD44_022549C8 + + thumb_func_start MOD44_02254A20 +MOD44_02254A20: ; 0x02254A20 + push {r4, lr} + add r4, r0, #0 + ldrb r0, [r4, #1] + cmp r0, #0 + beq _02254A30 + cmp r0, #1 + beq _02254A40 + b _02254A4E +_02254A30: + ldr r0, [r4, #8] + mov r1, #1 + bl MOD44_02254B14 + ldrb r0, [r4, #1] + add r0, r0, #1 + strb r0, [r4, #1] + b _02254A4E +_02254A40: + ldr r0, [r4, #8] + bl MOD44_02254B44 + cmp r0, #0 + beq _02254A4E + mov r0, #1 + pop {r4, pc} +_02254A4E: + mov r0, #0 + pop {r4, pc} + .align 2, 0 + thumb_func_end MOD44_02254A20 + + .section .rodata + + .global MOD44_02254C54 +MOD44_02254C54: ; 0x02254C54 + .word MOD44_0225493C, MOD44_0225497C, MOD44_02254A20 diff --git a/arm9/modules/44/asm/module_44.s b/arm9/modules/44/asm/mod44_02254A54.s index b8f5aa0b..13d6529c 100644 --- a/arm9/modules/44/asm/module_44.s +++ b/arm9/modules/44/asm/mod44_02254A54.s @@ -3,293 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD44_02254854 -MOD44_02254854: ; 0x02254854 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #8 - mov r1, #0x14 - add r7, r2, #0 - str r3, [sp] - bl AllocFromHeap - add r4, r0, #0 - beq _02254892 - ldr r3, [sp] - add r1, r6, #0 - add r2, r7, #0 - bl MOD44_0225489C - cmp r0, #0 - beq _0225488C - ldr r0, _02254898 ; =MOD44_022548EC - add r1, r4, #0 - mov r2, #1 - bl FUN_0200CA44 - cmp r0, #0 - beq _0225488C - str r4, [r5] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0225488C: - add r0, r4, #0 - bl FreeToHeap -_02254892: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_02254898: .word MOD44_022548EC - thumb_func_end MOD44_02254854 - - thumb_func_start MOD44_0225489C -MOD44_0225489C: ; 0x0225489C - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - add r6, r2, #0 - bl MOD20_02252C3C - str r0, [r5, #0x10] - bl Sav2_Poketch_GetScreenTint - str r0, [r5, #4] - strb r0, [r5, #3] - add r0, r5, #0 - add r0, #8 - add r1, r5, #4 - add r2, r6, #0 - bl MOD44_02254A54 - cmp r0, #0 - beq _022548D2 - mov r0, #0 - strb r0, [r5] - strb r0, [r5, #1] - strb r0, [r5, #2] - str r4, [r5, #0xc] - mov r0, #1 - pop {r4, r5, r6, pc} -_022548D2: - mov r0, #0 - pop {r4, r5, r6, pc} - .align 2, 0 - thumb_func_end MOD44_0225489C - - thumb_func_start MOD44_022548D8 -MOD44_022548D8: ; 0x022548D8 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #8] - bl MOD44_02254B00 - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD44_022548D8 - - thumb_func_start MOD44_022548EC -MOD44_022548EC: ; 0x022548EC - push {r3, r4, r5, lr} - add r4, r1, #0 - ldrb r1, [r4] - add r5, r0, #0 - cmp r1, #3 - bhs _02254918 - lsl r2, r1, #2 - ldr r1, _0225491C ; =MOD44_02254C54 - add r0, r4, #0 - ldr r1, [r1, r2] - blx r1 - cmp r0, #0 - beq _02254918 - add r0, r4, #0 - bl MOD44_022548D8 - add r0, r5, #0 - bl FUN_0200CAB4 - ldr r0, [r4, #0xc] - bl MOD20_022529A0 -_02254918: - pop {r3, r4, r5, pc} - nop -_0225491C: .word MOD44_02254C54 - thumb_func_end MOD44_022548EC - - thumb_func_start MOD44_02254920 -MOD44_02254920: ; 0x02254920 - mov r1, #1 - strb r1, [r0, #2] - bx lr - .align 2, 0 - thumb_func_end MOD44_02254920 - - thumb_func_start MOD44_02254928 -MOD44_02254928: ; 0x02254928 - ldrb r2, [r0, #2] - cmp r2, #0 - bne _02254930 - b _02254932 -_02254930: - mov r1, #2 -_02254932: - strb r1, [r0] - mov r1, #0 - strb r1, [r0, #1] - bx lr - .align 2, 0 - thumb_func_end MOD44_02254928 - - thumb_func_start MOD44_0225493C -MOD44_0225493C: ; 0x0225493C - push {r4, lr} - add r4, r0, #0 - ldrb r0, [r4, #1] - cmp r0, #0 - beq _0225494C - cmp r0, #1 - beq _0225495C - b _02254976 -_0225494C: - ldr r0, [r4, #8] - mov r1, #0 - bl MOD44_02254B14 - ldrb r0, [r4, #1] - add r0, r0, #1 - strb r0, [r4, #1] - b _02254976 -_0225495C: - ldr r0, [r4, #8] - mov r1, #0 - bl MOD44_02254B38 - cmp r0, #0 - beq _02254976 - ldr r0, [r4, #0xc] - bl MOD20_0225298C - add r0, r4, #0 - mov r1, #1 - bl MOD44_02254928 -_02254976: - mov r0, #0 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD44_0225493C - - thumb_func_start MOD44_0225497C -MOD44_0225497C: ; 0x0225497C - push {r4, lr} - add r4, r0, #0 - ldrb r1, [r4, #2] - cmp r1, #0 - beq _02254990 - mov r1, #2 - bl MOD44_02254928 - mov r0, #0 - pop {r4, pc} -_02254990: - ldrb r1, [r4, #1] - cmp r1, #0 - beq _0225499C - cmp r1, #1 - beq _022549B4 - b _022549C4 -_0225499C: - bl MOD44_022549C8 - cmp r0, #0 - beq _022549C4 - ldr r0, [r4, #8] - mov r1, #2 - bl MOD44_02254B14 - ldrb r0, [r4, #1] - add r0, r0, #1 - strb r0, [r4, #1] - b _022549C4 -_022549B4: - ldr r0, [r4, #8] - mov r1, #2 - bl MOD44_02254B38 - cmp r0, #0 - beq _022549C4 - mov r0, #0 - strb r0, [r4, #1] -_022549C4: - mov r0, #0 - pop {r4, pc} - thumb_func_end MOD44_0225497C - - thumb_func_start MOD44_022549C8 -MOD44_022549C8: ; 0x022549C8 - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl MOD20_02252C08 - cmp r0, #0 - bne _02254A18 - add r0, sp, #4 - add r1, sp, #0 - bl FUN_02020AB0 - cmp r0, #0 - beq _02254A18 - ldr r0, [sp] - cmp r0, #0x88 - blo _02254A18 - cmp r0, #0xa0 - bhs _02254A18 - ldr r0, [sp, #4] - cmp r0, #0x30 - blo _02254A18 - cmp r0, #0xb8 - bhs _02254A18 - sub r0, #0x30 - lsr r1, r0, #4 - cmp r1, #8 - blo _02254A02 - mov r1, #7 -_02254A02: - ldrb r0, [r4, #3] - cmp r1, r0 - beq _02254A18 - str r1, [r4, #4] - strb r1, [r4, #3] - ldr r0, [r4, #0x10] - bl Sav2_Poketch_SetScreenTint - add sp, #8 - mov r0, #1 - pop {r4, pc} -_02254A18: - mov r0, #0 - add sp, #8 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD44_022549C8 - - thumb_func_start MOD44_02254A20 -MOD44_02254A20: ; 0x02254A20 - push {r4, lr} - add r4, r0, #0 - ldrb r0, [r4, #1] - cmp r0, #0 - beq _02254A30 - cmp r0, #1 - beq _02254A40 - b _02254A4E -_02254A30: - ldr r0, [r4, #8] - mov r1, #1 - bl MOD44_02254B14 - ldrb r0, [r4, #1] - add r0, r0, #1 - strb r0, [r4, #1] - b _02254A4E -_02254A40: - ldr r0, [r4, #8] - bl MOD44_02254B44 - cmp r0, #0 - beq _02254A4E - mov r0, #1 - pop {r4, pc} -_02254A4E: - mov r0, #0 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD44_02254A20 - thumb_func_start MOD44_02254A54 MOD44_02254A54: ; 0x02254A54 push {r4, r5, r6, lr} @@ -557,10 +270,6 @@ _02254C50: .word 0x00000663 .section .rodata - .global MOD44_02254C54 -MOD44_02254C54: ; 0x02254C54 - .word MOD44_0225493C, MOD44_0225497C, MOD44_02254A20 - .global MOD44_02254C60 MOD44_02254C60: ; 0x02254C60 .byte 0x00, 0x80, 0x03, 0x00 |