summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortgsm <doodrabbit@hotmail.com>2021-07-23 12:21:54 -0500
committertgsm <doodrabbit@hotmail.com>2021-07-23 12:21:54 -0500
commitf789535ffd0531d74a87f3ed5d5b157c5aecc548 (patch)
treee4980b26ffe38fd93d4da7981b5af01b310bdce1
parentd61f10cca6098c5411382e3325179c7e96b7db31 (diff)
Split module 26
-rw-r--r--arm9/arm9.lsf3
-rw-r--r--arm9/global.inc5
-rw-r--r--arm9/modules/26/asm/mod26_02254854.s (renamed from arm9/modules/26/asm/module_26.s)299
-rw-r--r--arm9/modules/26/asm/mod26_02254BD4.s305
4 files changed, 312 insertions, 300 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index c88b88f0..25689701 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -848,7 +848,8 @@ Overlay MODULE_26
##Dot Artist##
After MODULE_20
Object module_26_sinit.o
- Object module_26.o
+ Object mod26_02254854.o
+ Object mod26_02254BD4.o
}
Overlay MODULE_27
diff --git a/arm9/global.inc b/arm9/global.inc
index 96c0e659..d638e601 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -7444,6 +7444,11 @@
.extern MOD21_02254B10
.extern MOD21_02254B34
.extern MOD21_02254B40
+.extern MOD26_02254BD4
+.extern MOD26_02254C04
+.extern MOD26_02254C10
+.extern MOD26_02254C34
+.extern MOD26_02254C40
.extern MOD33_022549AC
.extern MOD33_022549DC
.extern MOD33_022549E8
diff --git a/arm9/modules/26/asm/module_26.s b/arm9/modules/26/asm/mod26_02254854.s
index 251ea218..8f6576b7 100644
--- a/arm9/modules/26/asm/module_26.s
+++ b/arm9/modules/26/asm/mod26_02254854.s
@@ -493,289 +493,6 @@ _02254BCE:
.align 2, 0
thumb_func_end MOD26_02254B98
- thumb_func_start MOD26_02254BD4
-MOD26_02254BD4: ; 0x02254BD4
- push {r4, r5, r6, lr}
- add r5, r0, #0
- add r6, r1, #0
- mov r0, #8
- mov r1, #0x30
- bl AllocFromHeap
- add r4, r0, #0
- beq _02254C00
- add r0, #8
- mov r1, #8
- bl MOD20_022536F4
- str r6, [r4]
- bl MOD20_02252D34
- str r0, [r4, #4]
- cmp r0, #0
- beq _02254C00
- str r4, [r5]
- mov r0, #1
- pop {r4, r5, r6, pc}
-_02254C00:
- mov r0, #0
- pop {r4, r5, r6, pc}
- thumb_func_end MOD26_02254BD4
-
- thumb_func_start MOD26_02254C04
-MOD26_02254C04: ; 0x02254C04
- push {r3, lr}
- cmp r0, #0
- beq _02254C0E
- bl FreeToHeap
-_02254C0E:
- pop {r3, pc}
- thumb_func_end MOD26_02254C04
-
- thumb_func_start MOD26_02254C10
-MOD26_02254C10: ; 0x02254C10
- push {lr}
- sub sp, #0xc
- add r2, r0, #0
- add r0, #8
- str r0, [sp]
- mov r0, #2
- str r0, [sp, #4]
- mov r0, #8
- str r0, [sp, #8]
- ldr r0, _02254C30 ; =MOD26_02254FF0
- ldr r3, [r2]
- bl MOD20_022537E0
- add sp, #0xc
- pop {pc}
- nop
-_02254C30: .word MOD26_02254FF0
- thumb_func_end MOD26_02254C10
-
- thumb_func_start MOD26_02254C34
-MOD26_02254C34: ; 0x02254C34
- ldr r3, _02254C3C ; =MOD20_02253794
- add r0, #8
- bx r3
- nop
-_02254C3C: .word MOD20_02253794
- thumb_func_end MOD26_02254C34
-
- thumb_func_start MOD26_02254C40
-MOD26_02254C40: ; 0x02254C40
- ldr r3, _02254C48 ; =MOD20_022537B8
- add r0, #8
- bx r3
- nop
-_02254C48: .word MOD20_022537B8
- thumb_func_end MOD26_02254C40
-
- thumb_func_start MOD26_02254C4C
-MOD26_02254C4C: ; 0x02254C4C
- push {r4, lr}
- add r4, r0, #0
- bl MOD20_022538A0
- add r0, #8
- add r1, r4, #0
- bl MOD20_02253888
- pop {r4, pc}
- .align 2, 0
- thumb_func_end MOD26_02254C4C
-
- thumb_func_start MOD26_02254C60
-MOD26_02254C60: ; 0x02254C60
- push {r3, r4, r5, lr}
- add r4, r1, #0
- add r0, r4, #0
- bl MOD20_022538A0
- add r5, r0, #0
- ldr r0, [r5, #4]
- ldr r2, _02254CB8 ; =MOD26_02254FD4
- mov r1, #6
- mov r3, #0
- bl InitBgFromTemplate
- ldr r0, [r5, #4]
- bl MOD26_02254CC4
- ldr r0, [r5, #4]
- ldr r1, [r5]
- bl MOD26_02254DAC
- mov r0, #0
- add r1, r0, #0
- bl MOD20_02252D7C
- ldr r0, [r5, #4]
- mov r1, #6
- bl BgCommitTilemapBufferToVram
- ldr r1, _02254CBC ; =0x04001000
- ldr r0, _02254CC0 ; =0xFFFFE0FF
- ldr r3, [r1]
- ldr r2, [r1]
- str r3, [sp]
- and r0, r2
- lsl r2, r3, #0x13
- lsr r3, r2, #0x1b
- mov r2, #4
- orr r2, r3
- lsl r2, r2, #8
- orr r0, r2
- str r0, [r1]
- add r0, r4, #0
- bl MOD26_02254C4C
- pop {r3, r4, r5, pc}
- .align 2, 0
-_02254CB8: .word MOD26_02254FD4
-_02254CBC: .word 0x04001000
-_02254CC0: .word 0xFFFFE0FF
- thumb_func_end MOD26_02254C60
-
- thumb_func_start MOD26_02254CC4
-MOD26_02254CC4: ; 0x02254CC4
- push {r3, r4, r5, r6, r7, lr}
- sub sp, #0x20
- str r0, [sp, #4]
- mov r0, #8
- lsl r1, r0, #6
- bl AllocFromHeap
- str r0, [sp, #0x1c]
- cmp r0, #0
- beq _02254D68
- mov r0, #0
- str r0, [sp, #0x18]
- str r0, [sp, #0x14]
- str r0, [sp, #0x10]
- str r0, [sp, #0xc]
- str r0, [sp, #8]
- add r7, r0, #0
- add r6, r0, #0
- add r4, r0, #0
- add r5, r0, #0
-_02254CEC:
- ldr r1, [sp, #0xc]
- ldr r0, [sp, #0x10]
- ldr r2, [sp, #0x1c]
- orr r1, r0
- ldr r0, [sp, #8]
- orr r0, r1
- orr r0, r7
- orr r0, r6
- orr r0, r4
- add r1, r5, #0
- orr r1, r0
- ldr r0, [sp, #0x18]
- orr r0, r1
- ldr r1, [sp, #0x14]
- add r1, r2, r1
- mov r2, #0x20
- bl MIi_CpuClearFast
- ldr r0, [sp, #0x14]
- ldr r1, [sp, #0x10]
- add r0, #0x20
- str r0, [sp, #0x14]
- mov r0, #1
- lsl r0, r0, #0x18
- add r0, r1, r0
- str r0, [sp, #0x10]
- mov r0, #1
- ldr r1, [sp, #0xc]
- lsl r0, r0, #0x1c
- add r0, r1, r0
- str r0, [sp, #0xc]
- mov r0, #1
- ldr r1, [sp, #8]
- lsl r0, r0, #0x14
- add r0, r1, r0
- str r0, [sp, #8]
- mov r0, #1
- lsl r0, r0, #0x10
- add r7, r7, r0
- lsr r0, r0, #4
- add r6, r6, r0
- mov r0, #1
- lsl r0, r0, #8
- add r4, r4, r0
- ldr r0, [sp, #0x18]
- add r5, #0x10
- add r0, r0, #1
- str r0, [sp, #0x18]
- cmp r0, #0x10
- blt _02254CEC
- mov r0, #0
- str r0, [sp]
- mov r3, #2
- ldr r0, [sp, #4]
- ldr r2, [sp, #0x1c]
- mov r1, #6
- lsl r3, r3, #8
- bl BG_LoadCharTilesData
- ldr r0, [sp, #0x1c]
- bl FreeToHeap
-_02254D68:
- add sp, #0x20
- pop {r3, r4, r5, r6, r7, pc}
- thumb_func_end MOD26_02254CC4
-
- thumb_func_start MOD26_02254D6C
-MOD26_02254D6C: ; 0x02254D6C
- push {r3, r4, r5, lr}
- add r5, r1, #0
- add r0, r5, #0
- bl MOD20_022538A0
- add r4, r0, #0
- ldr r0, [r4, #4]
- ldr r1, [r4]
- bl MOD26_02254DAC
- ldr r0, [r4, #4]
- mov r1, #6
- bl BgCommitTilemapBufferToVram
- add r0, r5, #0
- bl MOD26_02254C4C
- pop {r3, r4, r5, pc}
- thumb_func_end MOD26_02254D6C
-
- thumb_func_start MOD26_02254D90
-MOD26_02254D90: ; 0x02254D90
- push {r4, lr}
- add r4, r1, #0
- add r0, r4, #0
- bl MOD20_022538A0
- ldr r0, [r0, #4]
- mov r1, #6
- bl FreeBgTilemapBuffer
- add r0, r4, #0
- bl MOD26_02254C4C
- pop {r4, pc}
- .align 2, 0
- thumb_func_end MOD26_02254D90
-
- thumb_func_start MOD26_02254DAC
-MOD26_02254DAC: ; 0x02254DAC
- push {r3, r4, r5, r6, r7, lr}
- add r4, r1, #0
- mov r1, #6
- bl GetBgTilemapBuffer
- mov r5, #0
- ldr r1, _02254DE0 ; =MOD26_02254FD0
- add r0, #0x84
- add r2, r5, #0
-_02254DBE:
- add r3, r2, #0
- add r6, r0, #0
-_02254DC2:
- ldrb r7, [r4, r3]
- add r3, r3, #1
- add r7, r1, r7
- sub r7, r7, #1
- ldrb r7, [r7]
- strh r7, [r6]
- add r6, r6, #2
- cmp r3, #0x18
- blt _02254DC2
- add r5, r5, #1
- add r0, #0x40
- add r4, #0x18
- cmp r5, #0x14
- blt _02254DBE
- pop {r3, r4, r5, r6, r7, pc}
- .align 2, 0
-_02254DE0: .word MOD26_02254FD0
- thumb_func_end MOD26_02254DAC
-
.section .rodata
.global MOD26_02254DE4
@@ -804,19 +521,3 @@ MOD26_02254DF0: ; 0x02254DF0
.byte 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
.byte 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
.byte 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
-
- .global MOD26_02254FD0
-MOD26_02254FD0: ; 0x02254FD0
- .byte 0x04, 0x0F, 0x08, 0x01
-
- .global MOD26_02254FD4
-MOD26_02254FD4: ; 0x02254FD4
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global MOD26_02254FF0
-MOD26_02254FF0: ; 0x02254FF0
- .word 0x00, MOD26_02254C60, 0x00
- .word 0x01, MOD26_02254D6C, 0x00
- .word 0x02, MOD26_02254D90, 0x00
- .word 0x00, 0x00000000, 0x00
diff --git a/arm9/modules/26/asm/mod26_02254BD4.s b/arm9/modules/26/asm/mod26_02254BD4.s
new file mode 100644
index 00000000..b305807a
--- /dev/null
+++ b/arm9/modules/26/asm/mod26_02254BD4.s
@@ -0,0 +1,305 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .section .text
+ .balign 4, 0
+
+ thumb_func_start MOD26_02254BD4
+MOD26_02254BD4: ; 0x02254BD4
+ push {r4, r5, r6, lr}
+ add r5, r0, #0
+ add r6, r1, #0
+ mov r0, #8
+ mov r1, #0x30
+ bl AllocFromHeap
+ add r4, r0, #0
+ beq _02254C00
+ add r0, #8
+ mov r1, #8
+ bl MOD20_022536F4
+ str r6, [r4]
+ bl MOD20_02252D34
+ str r0, [r4, #4]
+ cmp r0, #0
+ beq _02254C00
+ str r4, [r5]
+ mov r0, #1
+ pop {r4, r5, r6, pc}
+_02254C00:
+ mov r0, #0
+ pop {r4, r5, r6, pc}
+ thumb_func_end MOD26_02254BD4
+
+ thumb_func_start MOD26_02254C04
+MOD26_02254C04: ; 0x02254C04
+ push {r3, lr}
+ cmp r0, #0
+ beq _02254C0E
+ bl FreeToHeap
+_02254C0E:
+ pop {r3, pc}
+ thumb_func_end MOD26_02254C04
+
+ thumb_func_start MOD26_02254C10
+MOD26_02254C10: ; 0x02254C10
+ push {lr}
+ sub sp, #0xc
+ add r2, r0, #0
+ add r0, #8
+ str r0, [sp]
+ mov r0, #2
+ str r0, [sp, #4]
+ mov r0, #8
+ str r0, [sp, #8]
+ ldr r0, _02254C30 ; =MOD26_02254FF0
+ ldr r3, [r2]
+ bl MOD20_022537E0
+ add sp, #0xc
+ pop {pc}
+ nop
+_02254C30: .word MOD26_02254FF0
+ thumb_func_end MOD26_02254C10
+
+ thumb_func_start MOD26_02254C34
+MOD26_02254C34: ; 0x02254C34
+ ldr r3, _02254C3C ; =MOD20_02253794
+ add r0, #8
+ bx r3
+ nop
+_02254C3C: .word MOD20_02253794
+ thumb_func_end MOD26_02254C34
+
+ thumb_func_start MOD26_02254C40
+MOD26_02254C40: ; 0x02254C40
+ ldr r3, _02254C48 ; =MOD20_022537B8
+ add r0, #8
+ bx r3
+ nop
+_02254C48: .word MOD20_022537B8
+ thumb_func_end MOD26_02254C40
+
+ thumb_func_start MOD26_02254C4C
+MOD26_02254C4C: ; 0x02254C4C
+ push {r4, lr}
+ add r4, r0, #0
+ bl MOD20_022538A0
+ add r0, #8
+ add r1, r4, #0
+ bl MOD20_02253888
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end MOD26_02254C4C
+
+ thumb_func_start MOD26_02254C60
+MOD26_02254C60: ; 0x02254C60
+ push {r3, r4, r5, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ bl MOD20_022538A0
+ add r5, r0, #0
+ ldr r0, [r5, #4]
+ ldr r2, _02254CB8 ; =MOD26_02254FD4
+ mov r1, #6
+ mov r3, #0
+ bl InitBgFromTemplate
+ ldr r0, [r5, #4]
+ bl MOD26_02254CC4
+ ldr r0, [r5, #4]
+ ldr r1, [r5]
+ bl MOD26_02254DAC
+ mov r0, #0
+ add r1, r0, #0
+ bl MOD20_02252D7C
+ ldr r0, [r5, #4]
+ mov r1, #6
+ bl BgCommitTilemapBufferToVram
+ ldr r1, _02254CBC ; =0x04001000
+ ldr r0, _02254CC0 ; =0xFFFFE0FF
+ ldr r3, [r1]
+ ldr r2, [r1]
+ str r3, [sp]
+ and r0, r2
+ lsl r2, r3, #0x13
+ lsr r3, r2, #0x1b
+ mov r2, #4
+ orr r2, r3
+ lsl r2, r2, #8
+ orr r0, r2
+ str r0, [r1]
+ add r0, r4, #0
+ bl MOD26_02254C4C
+ pop {r3, r4, r5, pc}
+ .align 2, 0
+_02254CB8: .word MOD26_02254FD4
+_02254CBC: .word 0x04001000
+_02254CC0: .word 0xFFFFE0FF
+ thumb_func_end MOD26_02254C60
+
+ thumb_func_start MOD26_02254CC4
+MOD26_02254CC4: ; 0x02254CC4
+ push {r3, r4, r5, r6, r7, lr}
+ sub sp, #0x20
+ str r0, [sp, #4]
+ mov r0, #8
+ lsl r1, r0, #6
+ bl AllocFromHeap
+ str r0, [sp, #0x1c]
+ cmp r0, #0
+ beq _02254D68
+ mov r0, #0
+ str r0, [sp, #0x18]
+ str r0, [sp, #0x14]
+ str r0, [sp, #0x10]
+ str r0, [sp, #0xc]
+ str r0, [sp, #8]
+ add r7, r0, #0
+ add r6, r0, #0
+ add r4, r0, #0
+ add r5, r0, #0
+_02254CEC:
+ ldr r1, [sp, #0xc]
+ ldr r0, [sp, #0x10]
+ ldr r2, [sp, #0x1c]
+ orr r1, r0
+ ldr r0, [sp, #8]
+ orr r0, r1
+ orr r0, r7
+ orr r0, r6
+ orr r0, r4
+ add r1, r5, #0
+ orr r1, r0
+ ldr r0, [sp, #0x18]
+ orr r0, r1
+ ldr r1, [sp, #0x14]
+ add r1, r2, r1
+ mov r2, #0x20
+ bl MIi_CpuClearFast
+ ldr r0, [sp, #0x14]
+ ldr r1, [sp, #0x10]
+ add r0, #0x20
+ str r0, [sp, #0x14]
+ mov r0, #1
+ lsl r0, r0, #0x18
+ add r0, r1, r0
+ str r0, [sp, #0x10]
+ mov r0, #1
+ ldr r1, [sp, #0xc]
+ lsl r0, r0, #0x1c
+ add r0, r1, r0
+ str r0, [sp, #0xc]
+ mov r0, #1
+ ldr r1, [sp, #8]
+ lsl r0, r0, #0x14
+ add r0, r1, r0
+ str r0, [sp, #8]
+ mov r0, #1
+ lsl r0, r0, #0x10
+ add r7, r7, r0
+ lsr r0, r0, #4
+ add r6, r6, r0
+ mov r0, #1
+ lsl r0, r0, #8
+ add r4, r4, r0
+ ldr r0, [sp, #0x18]
+ add r5, #0x10
+ add r0, r0, #1
+ str r0, [sp, #0x18]
+ cmp r0, #0x10
+ blt _02254CEC
+ mov r0, #0
+ str r0, [sp]
+ mov r3, #2
+ ldr r0, [sp, #4]
+ ldr r2, [sp, #0x1c]
+ mov r1, #6
+ lsl r3, r3, #8
+ bl BG_LoadCharTilesData
+ ldr r0, [sp, #0x1c]
+ bl FreeToHeap
+_02254D68:
+ add sp, #0x20
+ pop {r3, r4, r5, r6, r7, pc}
+ thumb_func_end MOD26_02254CC4
+
+ thumb_func_start MOD26_02254D6C
+MOD26_02254D6C: ; 0x02254D6C
+ push {r3, r4, r5, lr}
+ add r5, r1, #0
+ add r0, r5, #0
+ bl MOD20_022538A0
+ add r4, r0, #0
+ ldr r0, [r4, #4]
+ ldr r1, [r4]
+ bl MOD26_02254DAC
+ ldr r0, [r4, #4]
+ mov r1, #6
+ bl BgCommitTilemapBufferToVram
+ add r0, r5, #0
+ bl MOD26_02254C4C
+ pop {r3, r4, r5, pc}
+ thumb_func_end MOD26_02254D6C
+
+ thumb_func_start MOD26_02254D90
+MOD26_02254D90: ; 0x02254D90
+ push {r4, lr}
+ add r4, r1, #0
+ add r0, r4, #0
+ bl MOD20_022538A0
+ ldr r0, [r0, #4]
+ mov r1, #6
+ bl FreeBgTilemapBuffer
+ add r0, r4, #0
+ bl MOD26_02254C4C
+ pop {r4, pc}
+ .align 2, 0
+ thumb_func_end MOD26_02254D90
+
+ thumb_func_start MOD26_02254DAC
+MOD26_02254DAC: ; 0x02254DAC
+ push {r3, r4, r5, r6, r7, lr}
+ add r4, r1, #0
+ mov r1, #6
+ bl GetBgTilemapBuffer
+ mov r5, #0
+ ldr r1, _02254DE0 ; =MOD26_02254FD0
+ add r0, #0x84
+ add r2, r5, #0
+_02254DBE:
+ add r3, r2, #0
+ add r6, r0, #0
+_02254DC2:
+ ldrb r7, [r4, r3]
+ add r3, r3, #1
+ add r7, r1, r7
+ sub r7, r7, #1
+ ldrb r7, [r7]
+ strh r7, [r6]
+ add r6, r6, #2
+ cmp r3, #0x18
+ blt _02254DC2
+ add r5, r5, #1
+ add r0, #0x40
+ add r4, #0x18
+ cmp r5, #0x14
+ blt _02254DBE
+ pop {r3, r4, r5, r6, r7, pc}
+ .align 2, 0
+_02254DE0: .word MOD26_02254FD0
+ thumb_func_end MOD26_02254DAC
+
+ .section .rodata
+
+ .global MOD26_02254FD0
+MOD26_02254FD0: ; 0x02254FD0
+ .byte 0x04, 0x0F, 0x08, 0x01
+
+ .global MOD26_02254FD4
+MOD26_02254FD4: ; 0x02254FD4
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x0E, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global MOD26_02254FF0
+MOD26_02254FF0: ; 0x02254FF0
+ .word 0x00, MOD26_02254C60, 0x00
+ .word 0x01, MOD26_02254D6C, 0x00
+ .word 0x02, MOD26_02254D90, 0x00
+ .word 0x00, 0x00000000, 0x00