summaryrefslogtreecommitdiff
path: root/asm/libmks4agb.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/libmks4agb.s')
-rw-r--r--asm/libmks4agb.s5292
1 files changed, 0 insertions, 5292 deletions
diff --git a/asm/libmks4agb.s b/asm/libmks4agb.s
deleted file mode 100644
index 545660669..000000000
--- a/asm/libmks4agb.s
+++ /dev/null
@@ -1,5292 +0,0 @@
- .include "asm/macros.s"
-
- .syntax unified
-
- .text
-
- thumb_func_start umul3232H32
-umul3232H32: @ 81DCE14
- adr r2, _081DCE18
- bx r2
- .arm
-_081DCE18:
- umull r2, r3, r0, r1
- add r0, r3, 0
- bx lr
- thumb_func_end umul3232H32
-
- thumb_func_start SoundMain
-SoundMain: @ 81DCE24
- ldr r0, _081DCE90
- ldr r0, [r0]
- ldr r2, _081DCE94
- ldr r3, [r0]
- cmp r2, r3
- beq _081DCE32
- bx lr
-_081DCE32:
- adds r3, 0x1
- str r3, [r0]
- push {r4-r7,lr}
- mov r1, r8
- mov r2, r9
- mov r3, r10
- mov r4, r11
- push {r0-r4}
- sub sp, 0x18
- ldrb r1, [r0, 0xC]
- cmp r1, 0
- beq _081DCE56
- ldr r2, _081DCE9C
- ldrb r2, [r2]
- cmp r2, 0xA0
- bcs _081DCE54
- adds r2, 0xE4
-_081DCE54:
- adds r1, r2
-_081DCE56:
- str r1, [sp, 0x14]
- ldr r3, [r0, 0x20]
- cmp r3, 0
- beq _081DCE66
- ldr r0, [r0, 0x24]
- bl _081DD25E
- ldr r0, [sp, 0x18]
-_081DCE66:
- ldr r3, [r0, 0x28]
- bl _081DD25E
- ldr r0, [sp, 0x18]
- ldr r3, [r0, 0x10]
- mov r8, r3
- ldr r5, _081DCEA0
- adds r5, r0
- ldrb r4, [r0, 0x4]
- subs r7, r4, 0x1
- bls _081DCE86
- ldrb r1, [r0, 0xB]
- subs r1, r7
- mov r2, r8
- muls r2, r1
- adds r5, r2
-_081DCE86:
- str r5, [sp, 0x8]
- ldr r6, _081DCEA4
- ldr r3, _081DCE98
- bx r3
- .align 2, 0
-_081DCE90: .4byte 0x03007ff0
-_081DCE94: .4byte 0x68736d53
-_081DCE98: .4byte 0x03000f61
-_081DCE9C: .4byte 0x04000006
-_081DCEA0: .4byte 0x00000350
-_081DCEA4: .4byte 0x00000630
- thumb_func_end SoundMain
-
- thumb_func_start SoundMainRAM
-SoundMainRAM: @ 81DCEA8
- ldrb r3, [r0, 0x5]
- cmp r3, 0
- beq _081DCF08
- adr r1, _081DCEB4
- bx r1
- .arm
-_081DCEB4:
- cmp r4, 0x2
- addeq r7, r0, 0x350
- addne r7, r5, r8
- mov r4, r8
-_081DCEC4:
- ldrsb r0, [r5, r6]
- ldrsb r1, [r5]
- add r0, r0, r1
- ldrsb r1, [r7, r6]
- add r0, r0, r1
- ldrsb r1, [r7], 0x1
- add r0, r0, r1
- mul r1, r0, r3
- mov r0, r1, asr 9
- tst r0, 0x80
- addne r0, r0, 0x1
- strb r0, [r5, r6]
- strb r0, [r5], 0x1
- subs r4, r4, 0x1
- bgt _081DCEC4
- add r0, pc, 0x2F
- bx r0
- .thumb
-_081DCF08:
- movs r0, 0
- mov r1, r8
- adds r6, r5
- lsrs r1, 3
- bcc _081DCF16
- stm r5!, {r0}
- stm r6!, {r0}
-_081DCF16:
- lsrs r1, 1
- bcc _081DCF22
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
-_081DCF22:
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
- stm r5!, {r0}
- stm r6!, {r0}
- subs r1, 0x1
- bgt _081DCF22
- ldr r4, [sp, 0x18]
- ldr r0, [r4, 0x18]
- mov r12, r0
- ldrb r0, [r4, 0x6]
- adds r4, 0x50
-_081DCF40:
- str r0, [sp, 0x4]
- ldr r3, [r4, 0x24]
- ldr r0, [sp, 0x14]
- cmp r0, 0
- beq _081DCF60
- ldr r1, _081DCF5C
- ldrb r1, [r1]
- cmp r1, 0xA0
- bcs _081DCF54
- adds r1, 0xE4
-_081DCF54:
- cmp r1, r0
- bcc _081DCF60
- b _081DD24A
- .align 2, 0
-_081DCF5C: .4byte 0x04000006
-_081DCF60:
- ldrb r6, [r4]
- movs r0, 0xC7
- tst r0, r6
- bne _081DCF6A
- b _081DD240
-_081DCF6A:
- movs r0, 0x80
- tst r0, r6
- beq _081DCFA0
- movs r0, 0x40
- tst r0, r6
- bne _081DCFB0
- movs r6, 0x3
- strb r6, [r4]
- adds r0, r3, 0
- adds r0, 0x10
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r4, 0x28]
- ldr r0, [r3, 0xC]
- subs r0, r1
- str r0, [r4, 0x18]
- movs r5, 0
- strb r5, [r4, 0x9]
- str r5, [r4, 0x1C]
- ldrb r2, [r3, 0x3]
- movs r0, 0xC0
- tst r0, r2
- beq _081DCFF8
- movs r0, 0x10
- orrs r6, r0
- strb r6, [r4]
- b _081DCFF8
-_081DCFA0:
- ldrb r5, [r4, 0x9]
- movs r0, 0x4
- tst r0, r6
- beq _081DCFB6
- ldrb r0, [r4, 0xD]
- subs r0, 0x1
- strb r0, [r4, 0xD]
- bhi _081DD006
-_081DCFB0:
- movs r0, 0
- strb r0, [r4]
- b _081DD240
-_081DCFB6:
- movs r0, 0x40
- tst r0, r6
- beq _081DCFD6
- ldrb r0, [r4, 0x7]
- muls r5, r0
- lsrs r5, 8
- ldrb r0, [r4, 0xC]
- cmp r5, r0
- bhi _081DD006
-_081DCFC8:
- ldrb r5, [r4, 0xC]
- cmp r5, 0
- beq _081DCFB0
- movs r0, 0x4
- orrs r6, r0
- strb r6, [r4]
- b _081DD006
-_081DCFD6:
- movs r2, 0x3
- ands r2, r6
- cmp r2, 0x2
- bne _081DCFF4
- ldrb r0, [r4, 0x5]
- muls r5, r0
- lsrs r5, 8
- ldrb r0, [r4, 0x6]
- cmp r5, r0
- bhi _081DD006
- adds r5, r0, 0
- beq _081DCFC8
- subs r6, 0x1
- strb r6, [r4]
- b _081DD006
-_081DCFF4:
- cmp r2, 0x3
- bne _081DD006
-_081DCFF8:
- ldrb r0, [r4, 0x4]
- adds r5, r0
- cmp r5, 0xFF
- bcc _081DD006
- movs r5, 0xFF
- subs r6, 0x1
- strb r6, [r4]
-_081DD006:
- strb r5, [r4, 0x9]
- ldr r0, [sp, 0x18]
- ldrb r0, [r0, 0x7]
- adds r0, 0x1
- muls r0, r5
- lsrs r5, r0, 4
- ldrb r0, [r4, 0x2]
- muls r0, r5
- lsrs r0, 8
- strb r0, [r4, 0xA]
- ldrb r0, [r4, 0x3]
- muls r0, r5
- lsrs r0, 8
- strb r0, [r4, 0xB]
- movs r0, 0x10
- ands r0, r6
- str r0, [sp, 0x10]
- beq _081DD03A
- adds r0, r3, 0
- adds r0, 0x10
- ldr r1, [r3, 0x8]
- adds r0, r1
- str r0, [sp, 0xC]
- ldr r0, [r3, 0xC]
- subs r0, r1
- str r0, [sp, 0x10]
-_081DD03A:
- ldr r5, [sp, 0x8]
- ldr r2, [r4, 0x18]
- ldr r3, [r4, 0x28]
- adr r0, _081DD044
- bx r0
- .arm
-_081DD044:
- str r8, [sp]
- ldr r9, [r4, 0x1C]
- ldrb r10, [r4, 0xA]
- ldrb r11, [r4, 0xB]
- ldrb r0, [r4, 0x1]
- tst r0, 0x30
- beq _081DD068
- bl sub_81DD264
- b _081DD228
-_081DD068:
- mov r10, r10, lsl 16
- mov r11, r11, lsl 16
- ldrb r0, [r4, 0x1]
- tst r0, 0x8
- beq _081DD19C
-_081DD07C:
- cmp r2, 0x4
- ble _081DD0EC
- subs r2, r2, r8
- movgt r9, 0
- bgt _081DD0A8
- mov r9, r8
- add r2, r2, r8
- sub r8, r2, 0x4
- sub r9, r9, r8
- ands r2, r2, 0x3
- moveq r2, 0x4
-_081DD0A8:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_081DD0B0:
- ldrsb r0, [r3], 0x1
- mul r1, r10, r0
- bic r1, r1, 0xFF0000
- add r6, r1, r6, ror 8
- mul r1, r11, r0
- bic r1, r1, 0xFF0000
- add r7, r1, r7, ror 8
- adds r5, r5, 0x40000000
- bcc _081DD0B0
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _081DD0A8
- adds r8, r8, r9
- beq _081DD22C
-_081DD0EC:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_081DD0F4:
- ldrsb r0, [r3], 0x1
- mul r1, r10, r0
- bic r1, r1, 0xFF0000
- add r6, r1, r6, ror 8
- mul r1, r11, r0
- bic r1, r1, 0xFF0000
- add r7, r1, r7, ror 8
- subs r2, r2, 0x1
- beq _081DD164
-_081DD118:
- adds r5, r5, 0x40000000
- bcc _081DD0F4
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _081DD07C
- b _081DD22C
-_081DD134:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- beq _081DD158
- ldr r3, [sp, 0x14]
- rsb lr, r2, 0
-_081DD148:
- adds r2, r0, r2
- bgt _081DD1FC
- sub lr, lr, r0
- b _081DD148
-_081DD158:
- ldmia sp!, {r4,r12}
- mov r2, 0
- b _081DD174
-_081DD164:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- ldrne r3, [sp, 0xC]
- bne _081DD118
-_081DD174:
- strb r2, [r4]
- mov r0, r5, lsr 30
- bic r5, r5, 0xC0000000
- rsb r0, r0, 0x3
- mov r0, r0, lsl 3
- mov r6, r6, ror r0
- mov r7, r7, ror r0
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- b _081DD234
-_081DD19C:
- stmdb sp!, {r4,r12}
- ldr r1, [r4, 0x20]
- mul r4, r12, r1
- ldrsb r0, [r3]
- ldrsb r1, [r3, 0x1]!
- sub r1, r1, r0
-_081DD1B4:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_081DD1BC:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r4
- movs lr, r9, lsr 23
- beq _081DD208
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _081DD134
- subs lr, lr, 0x1
- addeq r0, r0, r1
-_081DD1FC:
- ldrsbne r0, [r3, lr]!
- ldrsb r1, [r3, 0x1]!
- sub r1, r1, r0
-_081DD208:
- adds r5, r5, 0x40000000
- bcc _081DD1BC
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- subs r8, r8, 0x4
- bgt _081DD1B4
- sub r3, r3, 0x1
- ldmia sp!, {r4,r12}
-_081DD228:
- str r9, [r4, 0x1C]
-_081DD22C:
- str r2, [r4, 0x18]
- str r3, [r4, 0x28]
-_081DD234:
- ldr r8, [sp]
- add r0, pc, 0x1
- bx r0
- .thumb
-_081DD240:
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- ble _081DD24A
- adds r4, 0x40
- b _081DCF40
-_081DD24A:
- ldr r0, [sp, 0x18]
- ldr r3, _081DD260
- str r3, [r0]
- add sp, 0x1C
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r3}
-_081DD25E:
- bx r3
- .align 2, 0
-_081DD260: .4byte 0x68736d53
- thumb_func_end SoundMainRAM
-
- arm_func_start sub_81DD264
-sub_81DD264: @ 81DD264
- ldr r6, [r4, 0x24]
- ldrb r0, [r4]
- tst r0, 0x20
- bne _081DD2B4
- orr r0, r0, 0x20
- strb r0, [r4]
- ldrb r0, [r4, 0x1]
- tst r0, 0x10
- beq _081DD29C
- ldr r1, [r6, 0xC]
- add r1, r1, r6, lsl 1
- add r1, r1, 0x20
- sub r3, r1, r3
- str r3, [r4, 0x28]
-_081DD29C:
- ldrh r0, [r6]
- cmp r0, 0
- beq _081DD2B4
- sub r3, r3, r6
- sub r3, r3, 0x10
- str r3, [r4, 0x28]
-_081DD2B4:
- stmdb sp!, {r8,r12,lr}
- mov r10, r10, lsl 16
- mov r11, r11, lsl 16
- ldr r1, [r4, 0x20]
- ldrb r0, [r4, 0x1]
- tst r0, 0x8
- movne r8, 0x800000
- muleq r8, r12, r1
- ldrh r0, [r6]
- cmp r0, 0
- beq _081DD468
- mov r0, 0xFF000000
- str r0, [r4, 0x3C]
- ldrb r0, [r4, 0x1]
- tst r0, 0x10
- bne _081DD3C0
- bl sub_81DD520
- mov r0, r1
- add r3, r3, 0x1
- bl sub_81DD520
- sub r1, r1, r0
-_081DD308:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_081DD310:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r8
- movs lr, r9, lsr 23
- beq _081DD370
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _081DD398
- subs lr, lr, 0x1
- bne _081DD358
- add r0, r0, r1
- b _081DD364
-_081DD358:
- add r3, r3, lr
- bl sub_81DD520
- mov r0, r1
-_081DD364:
- add r3, r3, 0x1
- bl sub_81DD520
- sub r1, r1, r0
-_081DD370:
- adds r5, r5, 0x40000000
- bcc _081DD310
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldr r6, [sp]
- subs r6, r6, 0x4
- str r6, [sp]
- bgt _081DD308
- sub r3, r3, 0x1
- b _081DD4F0
-_081DD398:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- beq _081DD4F4
- ldr r3, [r4, 0x24]
- ldr r3, [r3, 0x8]
- rsb lr, r2, 0
-_081DD3B0:
- adds r2, r2, r0
- bgt _081DD358
- sub lr, lr, r0
- b _081DD3B0
-_081DD3C0:
- sub r3, r3, 0x1
- bl sub_81DD520
- mov r0, r1
- sub r3, r3, 0x1
- bl sub_81DD520
- sub r1, r1, r0
-_081DD3D8:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_081DD3E0:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r8
- movs lr, r9, lsr 23
- beq _081DD440
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _081DD4F4
- subs lr, lr, 0x1
- bne _081DD428
- add r0, r0, r1
- b _081DD434
-_081DD428:
- sub r3, r3, lr
- bl sub_81DD520
- mov r0, r1
-_081DD434:
- sub r3, r3, 0x1
- bl sub_81DD520
- sub r1, r1, r0
-_081DD440:
- adds r5, r5, 0x40000000
- bcc _081DD3E0
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldr r6, [sp]
- subs r6, r6, 0x4
- str r6, [sp]
- bgt _081DD3D8
- add r3, r3, 0x2
- b _081DD4F0
-_081DD468:
- ldrb r0, [r4, 0x1]
- tst r0, 0x10
- beq _081DD4F0
- ldrsb r0, [r3, -0x1]!
- ldrsb r1, [r3, -0x1]
- sub r1, r1, r0
-_081DD480:
- ldr r6, [r5]
- ldr r7, [r5, 0x630]
-_081DD488:
- mul lr, r9, r1
- add lr, r0, lr, asr 23
- mul r12, r10, lr
- bic r12, r12, 0xFF0000
- add r6, r12, r6, ror 8
- mul r12, r11, lr
- bic r12, r12, 0xFF0000
- add r7, r12, r7, ror 8
- add r9, r9, r8
- movs lr, r9, lsr 23
- beq _081DD4CC
- bic r9, r9, 0x3F800000
- subs r2, r2, lr
- ble _081DD4F4
- ldrsb r0, [r3, -lr]!
- ldrsb r1, [r3, -0x1]
- sub r1, r1, r0
-_081DD4CC:
- adds r5, r5, 0x40000000
- bcc _081DD488
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldr r6, [sp]
- subs r6, r6, 0x4
- str r6, [sp]
- bgt _081DD480
- add r3, r3, 0x1
-_081DD4F0:
- ldmia sp!, {r8,r12,pc}
-_081DD4F4:
- mov r2, 0
- strb r2, [r4]
- mov r0, r5, lsr 30
- bic r5, r5, 0xC0000000
- rsb r0, r0, 0x3
- mov r0, r0, lsl 3
- mov r6, r6, ror r0
- mov r7, r7, ror r0
- str r7, [r5, 0x630]
- str r6, [r5], 0x4
- ldmia sp!, {r8,r12,pc}
- arm_func_end sub_81DD264
-
- arm_func_start sub_81DD520
-sub_81DD520: @ 81DD520
- stmdb sp!, {r0,r2,r5-r7,lr}
- mov r0, r3, lsr 6
- ldr r1, [r4, 0x3C]
- cmp r0, r1
- beq _081DD594
- str r0, [r4, 0x3C]
- mov r1, 0x21
- mul r2, r1, r0
- ldr r1, [r4, 0x24]
- add r2, r2, r1
- add r2, r2, 0x10
- ldr r5, _081DD5A4
- ldr r6, _081DD5A8
- mov r7, 0x40
- ldrb lr, [r2], 0x1
- strb lr, [r5], 0x1
- ldrb r1, [r2], 0x1
- b _081DD57C
-_081DD568:
- ldrb r1, [r2], 0x1
- mov r0, r1, lsr 4
- ldrsb r0, [r6, r0]
- add lr, lr, r0
- strb lr, [r5], 0x1
-_081DD57C:
- and r0, r1, 0xF
- ldrsb r0, [r6, r0]
- add lr, lr, r0
- strb lr, [r5], 0x1
- subs r7, r7, 0x2
- bgt _081DD568
-_081DD594:
- ldr r5, _081DD5A4
- and r0, r3, 0x3F
- ldrsb r1, [r5, r0]
- ldmia sp!, {r0,r2,r5-r7,pc}
- .align 2, 0
-_081DD5A4: .4byte 0x030007b8
-_081DD5A8: .4byte gUnknown_0842F9F4
- arm_func_end sub_81DD520
-
- thumb_func_start SoundMainBTM
-SoundMainBTM: @ 81DD5AC
- mov r12, r4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- movs r4, 0
- stm r0!, {r1-r4}
- stm r0!, {r1-r4}
- stm r0!, {r1-r4}
- stm r0!, {r1-r4}
- mov r4, r12
- bx lr
- thumb_func_end SoundMainBTM
-
- thumb_func_start ClearChain
-ClearChain: @ 81DD5C4
- ldr r3, [r0, 0x2C]
- cmp r3, 0
- beq _081DD5E2
- ldr r1, [r0, 0x34]
- ldr r2, [r0, 0x30]
- cmp r2, 0
- beq _081DD5D6
- str r1, [r2, 0x34]
- b _081DD5D8
-_081DD5D6:
- str r1, [r3, 0x20]
-_081DD5D8:
- cmp r1, 0
- beq _081DD5DE
- str r2, [r1, 0x30]
-_081DD5DE:
- movs r1, 0
- str r1, [r0, 0x2C]
-_081DD5E2:
- bx lr
- thumb_func_end ClearChain
-
- thumb_func_start ply_fine
-ply_fine: @ 81DD5E4
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _081DD608
-_081DD5EE:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _081DD5FC
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4]
-_081DD5FC:
- adds r0, r4, 0
- bl ClearChain
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _081DD5EE
-_081DD608:
- movs r0, 0
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ply_fine
-
- thumb_func_start MPlyJmpTblCopy
-MPlyJmpTblCopy: @ 81DD614
- mov r12, lr
- movs r1, 0x24
- ldr r2, _081DD644
-_081DD61A:
- ldr r3, [r2]
- bl chk_adr_r2
- stm r0!, {r3}
- adds r2, 0x4
- subs r1, 0x1
- bgt _081DD61A
- bx r12
- thumb_func_end MPlyJmpTblCopy
-
- thumb_func_start ldrb_r3_r2
-ldrb_r3_r2: @ 81DD62C
- ldrb r3, [r2]
- thumb_func_end ldrb_r3_r2
-
- non_word_aligned_thumb_func_start chk_adr_r2
-chk_adr_r2: @ 81DD62E
- push {r0}
- lsrs r0, r2, 25
- bne _081DD640
- ldr r0, _081DD644
- cmp r2, r0
- bcc _081DD63E
- lsrs r0, r2, 14
- beq _081DD640
-_081DD63E:
- movs r3, 0
-_081DD640:
- pop {r0}
- bx lr
- .align 2, 0
-_081DD644: .4byte gUnknown_0842F964
- thumb_func_end chk_adr_r2
-
- thumb_func_start ld_r3_tp_adr_i
-ld_r3_tp_adr_i: @ 81DD648
- ldr r2, [r1, 0x40]
-_081DD64A:
- adds r3, r2, 0x1
- str r3, [r1, 0x40]
- ldrb r3, [r2]
- b chk_adr_r2
- thumb_func_end ld_r3_tp_adr_i
-
- thumb_func_start ply_goto
-ply_goto: @ 81DD654
- push {lr}
-_081DD656:
- ldr r2, [r1, 0x40]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- ldrb r3, [r2, 0x2]
- orrs r0, r3
- lsls r0, 8
- ldrb r3, [r2, 0x1]
- orrs r0, r3
- lsls r0, 8
- bl ldrb_r3_r2
- orrs r0, r3
- str r0, [r1, 0x40]
- pop {r0}
- bx r0
- thumb_func_end ply_goto
-
- thumb_func_start ply_patt
-ply_patt: @ 81DD674
- ldrb r2, [r1, 0x2]
- cmp r2, 0x3
- bcs _081DD68C
- lsls r2, 2
- adds r3, r1, r2
- ldr r2, [r1, 0x40]
- adds r2, 0x4
- str r2, [r3, 0x44]
- ldrb r2, [r1, 0x2]
- adds r2, 0x1
- strb r2, [r1, 0x2]
- b ply_goto
-_081DD68C:
- b ply_fine
- thumb_func_end ply_patt
-
- thumb_func_start play_pend
-play_pend: @ 81DD690
- ldrb r2, [r1, 0x2]
- cmp r2, 0
- beq _081DD6A2
- subs r2, 0x1
- strb r2, [r1, 0x2]
- lsls r2, 2
- adds r3, r1, r2
- ldr r2, [r3, 0x44]
- str r2, [r1, 0x40]
-_081DD6A2:
- bx lr
- thumb_func_end play_pend
-
- thumb_func_start ply_rept
-ply_rept: @ 81DD6A4
- push {lr}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- cmp r3, 0
- bne _081DD6B4
- adds r2, 0x1
- str r2, [r1, 0x40]
- b _081DD656
-_081DD6B4:
- ldrb r3, [r1, 0x3]
- adds r3, 0x1
- strb r3, [r1, 0x3]
- mov r12, r3
- bl ld_r3_tp_adr_i
- cmp r12, r3
- bcs _081DD6C6
- b _081DD656
-_081DD6C6:
- movs r3, 0
- strb r3, [r1, 0x3]
- adds r2, 0x5
- str r2, [r1, 0x40]
- pop {r0}
- bx r0
- thumb_func_end ply_rept
-
- thumb_func_start ply_prio
-ply_prio: @ 81DD6D4
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0x1D]
- bx r12
- thumb_func_end ply_prio
-
- thumb_func_start ply_tempo
-ply_tempo: @ 81DD6E0
- mov r12, lr
- bl ld_r3_tp_adr_i
- lsls r3, 1
- strh r3, [r0, 0x1C]
- ldrh r2, [r0, 0x1E]
- muls r3, r2
- lsrs r3, 8
- strh r3, [r0, 0x20]
- bx r12
- thumb_func_end ply_tempo
-
- thumb_func_start ply_keysh
-ply_keysh: @ 81DD6F4
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0xA]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_keysh
-
- thumb_func_start ply_voice
-ply_voice: @ 81DD708
- mov r12, lr
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- str r2, [r1, 0x40]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 2
- ldr r3, [r0, 0x30]
- adds r2, r3
- ldr r3, [r2]
- bl chk_adr_r2
- str r3, [r1, 0x24]
- ldr r3, [r2, 0x4]
- bl chk_adr_r2
- str r3, [r1, 0x28]
- ldr r3, [r2, 0x8]
- bl chk_adr_r2
- str r3, [r1, 0x2C]
- bx r12
- thumb_func_end ply_voice
-
- thumb_func_start ply_vol
-ply_vol: @ 81DD738
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0x12]
- ldrb r3, [r1]
- movs r2, 0x3
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_vol
-
- thumb_func_start ply_pan
-ply_pan: @ 81DD74C
- mov r12, lr
- bl ld_r3_tp_adr_i
- subs r3, 0x40
- strb r3, [r1, 0x14]
- ldrb r3, [r1]
- movs r2, 0x3
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_pan
-
- thumb_func_start ply_bend
-ply_bend: @ 81DD760
- mov r12, lr
- bl ld_r3_tp_adr_i
- subs r3, 0x40
- strb r3, [r1, 0xE]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_bend
-
- thumb_func_start ply_bendr
-ply_bendr: @ 81DD774
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0xF]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_bendr
-
- thumb_func_start ply_lfodl
-ply_lfodl: @ 81DD788
- mov r12, lr
- bl ld_r3_tp_adr_i
- strb r3, [r1, 0x1B]
- bx r12
- thumb_func_end ply_lfodl
-
- thumb_func_start ply_modt
-ply_modt: @ 81DD794
- mov r12, lr
- bl ld_r3_tp_adr_i
- ldrb r0, [r1, 0x18]
- cmp r0, r3
- beq _081DD7AA
- strb r3, [r1, 0x18]
- ldrb r3, [r1]
- movs r2, 0xF
- orrs r3, r2
- strb r3, [r1]
-_081DD7AA:
- bx r12
- thumb_func_end ply_modt
-
- thumb_func_start ply_tune
-ply_tune: @ 81DD7AC
- mov r12, lr
- bl ld_r3_tp_adr_i
- subs r3, 0x40
- strb r3, [r1, 0xC]
- ldrb r3, [r1]
- movs r2, 0xC
- orrs r3, r2
- strb r3, [r1]
- bx r12
- thumb_func_end ply_tune
-
- thumb_func_start ply_port
-ply_port: @ 81DD7C0
- mov r12, lr
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- ldr r0, _081DD7D4
- adds r0, r3
- bl _081DD64A
- strb r3, [r0]
- bx r12
- .align 2, 0
-_081DD7D4: .4byte 0x04000060
- thumb_func_end ply_port
-
- thumb_func_start SoundVSync_rev01
-SoundVSync_rev01: @ 81DD7D8
- ldr r0, _081DDA84
- ldr r0, [r0]
- ldr r2, _081DDA88
- ldr r3, [r0]
- subs r3, r2
- cmp r3, 0x1
- bhi _081DD818
- ldrb r1, [r0, 0x4]
- subs r1, 0x1
- strb r1, [r0, 0x4]
- bgt _081DD818
- ldrb r1, [r0, 0xB]
- strb r1, [r0, 0x4]
- ldr r2, _081DD81C
- ldr r1, [r2, 0x8]
- lsls r1, 7
- bcc _081DD7FE
- ldr r1, _081DD820
- str r1, [r2, 0x8]
-_081DD7FE:
- ldr r1, [r2, 0x14]
- lsls r1, 7
- bcc _081DD808
- ldr r1, _081DD820
- str r1, [r2, 0x14]
-_081DD808:
- movs r1, 0x4
- lsls r1, 8
- strh r1, [r2, 0xA]
- strh r1, [r2, 0x16]
- movs r1, 0xB6
- lsls r1, 8
- strh r1, [r2, 0xA]
- strh r1, [r2, 0x16]
-_081DD818:
- bx lr
- .align 2, 0
-_081DD81C: .4byte 0x040000bc
-_081DD820: .4byte 0x84400004
- thumb_func_end SoundVSync_rev01
-
- thumb_func_start MPlayMain_rev01
-MPlayMain_rev01: @ 81DD824
- ldr r2, _081DDA88
- ldr r3, [r0, 0x34]
- cmp r2, r3
- beq _081DD82E
- bx lr
-_081DD82E:
- adds r3, 0x1
- str r3, [r0, 0x34]
- push {r0,lr}
- ldr r3, [r0, 0x38]
- cmp r3, 0
- beq _081DD840
- ldr r0, [r0, 0x3C]
- bl _081DDA7C
-_081DD840:
- pop {r0}
- push {r4-r7}
- mov r4, r8
- mov r5, r9
- mov r6, r10
- mov r7, r11
- push {r4-r7}
- adds r7, r0, 0
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _081DD858
- b _081DDA6C
-_081DD858:
- ldr r0, _081DDA84
- ldr r0, [r0]
- mov r8, r0
- adds r0, r7, 0
- bl FadeOutBody_rev01
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _081DD86C
- b _081DDA6C
-_081DD86C:
- ldrh r0, [r7, 0x22]
- ldrh r1, [r7, 0x20]
- adds r0, r1
- b _081DD9BC
-_081DD874:
- ldrb r6, [r7, 0x8]
- ldr r5, [r7, 0x2C]
- movs r3, 0x1
- movs r4, 0
-_081DD87C:
- ldrb r0, [r5]
- movs r1, 0x80
- tst r1, r0
- bne _081DD886
- b _081DD998
-_081DD886:
- mov r10, r3
- orrs r4, r3
- mov r11, r4
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _081DD8BA
-_081DD892:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _081DD8AE
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _081DD8B4
- subs r0, 0x1
- strb r0, [r4, 0x10]
- bne _081DD8B4
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4]
- b _081DD8B4
-_081DD8AE:
- adds r0, r4, 0
- bl ClearChain_rev
-_081DD8B4:
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _081DD892
-_081DD8BA:
- ldrb r3, [r5]
- movs r0, 0x40
- tst r0, r3
- beq _081DD938
- adds r0, r5, 0
- bl Clear64byte_rev
- movs r0, 0x80
- strb r0, [r5]
- movs r0, 0x2
- strb r0, [r5, 0xF]
- movs r0, 0x40
- strb r0, [r5, 0x13]
- movs r0, 0x16
- strb r0, [r5, 0x19]
- movs r0, 0x1
- adds r1, r5, 0x6
- strb r0, [r1, 0x1E]
- b _081DD938
-_081DD8E0:
- ldr r2, [r5, 0x40]
- ldrb r1, [r2]
- cmp r1, 0x80
- bcs _081DD8EC
- ldrb r1, [r5, 0x7]
- b _081DD8F6
-_081DD8EC:
- adds r2, 0x1
- str r2, [r5, 0x40]
- cmp r1, 0xBD
- bcc _081DD8F6
- strb r1, [r5, 0x7]
-_081DD8F6:
- cmp r1, 0xCF
- bcc _081DD90C
- mov r0, r8
- ldr r3, [r0, 0x38]
- adds r0, r1, 0
- subs r0, 0xCF
- adds r1, r7, 0
- adds r2, r5, 0
- bl _081DDA7C
- b _081DD938
-_081DD90C:
- cmp r1, 0xB0
- bls _081DD92E
- adds r0, r1, 0
- subs r0, 0xB1
- strb r0, [r7, 0xA]
- mov r3, r8
- ldr r3, [r3, 0x34]
- lsls r0, 2
- ldr r3, [r3, r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl _081DDA7C
- ldrb r0, [r5]
- cmp r0, 0
- beq _081DD994
- b _081DD938
-_081DD92E:
- ldr r0, _081DDA80
- subs r1, 0x80
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r5, 0x1]
-_081DD938:
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _081DD8E0
- subs r0, 0x1
- strb r0, [r5, 0x1]
- ldrb r1, [r5, 0x19]
- cmp r1, 0
- beq _081DD994
- ldrb r0, [r5, 0x17]
- cmp r0, 0
- beq _081DD994
- ldrb r0, [r5, 0x1C]
- cmp r0, 0
- beq _081DD95A
- subs r0, 0x1
- strb r0, [r5, 0x1C]
- b _081DD994
-_081DD95A:
- ldrb r0, [r5, 0x1A]
- adds r0, r1
- strb r0, [r5, 0x1A]
- adds r1, r0, 0
- subs r0, 0x40
- lsls r0, 24
- bpl _081DD96E
- lsls r2, r1, 24
- asrs r2, 24
- b _081DD972
-_081DD96E:
- movs r0, 0x80
- subs r2, r0, r1
-_081DD972:
- ldrb r0, [r5, 0x17]
- muls r0, r2
- asrs r2, r0, 6
- ldrb r0, [r5, 0x16]
- eors r0, r2
- lsls r0, 24
- beq _081DD994
- strb r2, [r5, 0x16]
- ldrb r0, [r5]
- ldrb r1, [r5, 0x18]
- cmp r1, 0
- bne _081DD98E
- movs r1, 0xC
- b _081DD990
-_081DD98E:
- movs r1, 0x3
-_081DD990:
- orrs r0, r1
- strb r0, [r5]
-_081DD994:
- mov r3, r10
- mov r4, r11
-_081DD998:
- subs r6, 0x1
- ble _081DD9A4
- movs r0, 0x50
- adds r5, r0
- lsls r3, 1
- b _081DD87C
-_081DD9A4:
- ldr r0, [r7, 0xC]
- adds r0, 0x1
- str r0, [r7, 0xC]
- cmp r4, 0
- bne _081DD9B6
- movs r0, 0x80
- lsls r0, 24
- str r0, [r7, 0x4]
- b _081DDA6C
-_081DD9B6:
- str r4, [r7, 0x4]
- ldrh r0, [r7, 0x22]
- subs r0, 0x96
-_081DD9BC:
- strh r0, [r7, 0x22]
- cmp r0, 0x96
- bcc _081DD9C4
- b _081DD874
-_081DD9C4:
- ldrb r2, [r7, 0x8]
- ldr r5, [r7, 0x2C]
-_081DD9C8:
- ldrb r0, [r5]
- movs r1, 0x80
- tst r1, r0
- beq _081DDA62
- movs r1, 0xF
- tst r1, r0
- beq _081DDA62
- mov r9, r2
- adds r0, r7, 0
- adds r1, r5, 0
- bl TrkVolPitSet_rev01
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _081DDA58
-_081DD9E6:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- bne _081DD9F6
- adds r0, r4, 0
- bl ClearChain_rev
- b _081DDA52
-_081DD9F6:
- ldrb r0, [r4, 0x1]
- movs r6, 0x7
- ands r6, r0
- ldrb r3, [r5]
- movs r0, 0x3
- tst r0, r3
- beq _081DDA14
- bl ChnVolSetAsm
- cmp r6, 0
- beq _081DDA14
- ldrb r0, [r4, 0x1D]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_081DDA14:
- ldrb r3, [r5]
- movs r0, 0xC
- tst r0, r3
- beq _081DDA52
- ldrb r1, [r4, 0x8]
- movs r0, 0x8
- ldrsb r0, [r5, r0]
- adds r2, r1, r0
- bpl _081DDA28
- movs r2, 0
-_081DDA28:
- cmp r6, 0
- beq _081DDA46
- mov r0, r8
- ldr r3, [r0, 0x30]
- adds r1, r2, 0
- ldrb r2, [r5, 0x9]
- adds r0, r6, 0
- bl _081DDA7C
- str r0, [r4, 0x20]
- ldrb r0, [r4, 0x1D]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1D]
- b _081DDA52
-_081DDA46:
- adds r1, r2, 0
- ldrb r2, [r5, 0x9]
- ldr r0, [r4, 0x24]
- bl MidiKey2fr
- str r0, [r4, 0x20]
-_081DDA52:
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _081DD9E6
-_081DDA58:
- ldrb r0, [r5]
- movs r1, 0xF0
- ands r0, r1
- strb r0, [r5]
- mov r2, r9
-_081DDA62:
- subs r2, 0x1
- ble _081DDA6C
- movs r0, 0x50
- adds r5, r0
- bgt _081DD9C8
-_081DDA6C:
- ldr r0, _081DDA88
- str r0, [r7, 0x34]
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r3}
-_081DDA7C:
- bx r3
- .align 2, 0
-_081DDA80: .4byte gUnknown_0842FBE8
-_081DDA84: .4byte 0x03007ff0
-_081DDA88: .4byte 0x68736d53
- thumb_func_end MPlayMain_rev01
-
- thumb_func_start TrackStop_rev01
-TrackStop_rev01: @ 81DDA8C
- push {r4-r6,lr}
- adds r5, r1, 0
- ldrb r1, [r5]
- movs r0, 0x80
- tst r0, r1
- beq _081DDAC4
- ldr r4, [r5, 0x20]
- cmp r4, 0
- beq _081DDAC2
- movs r6, 0
-_081DDAA0:
- ldrb r0, [r4]
- cmp r0, 0
- beq _081DDABA
- ldrb r0, [r4, 0x1]
- movs r3, 0x7
- ands r0, r3
- beq _081DDAB8
- ldr r3, _081DDACC
- ldr r3, [r3]
- ldr r3, [r3, 0x2C]
- bl _081DDA7C
-_081DDAB8:
- strb r6, [r4]
-_081DDABA:
- str r6, [r4, 0x2C]
- ldr r4, [r4, 0x34]
- cmp r4, 0
- bne _081DDAA0
-_081DDAC2:
- str r4, [r5, 0x20]
-_081DDAC4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DDACC: .4byte 0x03007ff0
- thumb_func_end TrackStop_rev01
-
- thumb_func_start ChnVolSetAsm
-ChnVolSetAsm: @ 81DDAD0
- ldrb r1, [r4, 0x12]
- movs r0, 0x14
- ldrsb r2, [r4, r0]
- movs r3, 0x80
- adds r3, r2
- muls r3, r1
- ldrb r0, [r5, 0x10]
- muls r0, r3
- asrs r0, 14
- cmp r0, 0xFF
- bls _081DDAE8
- movs r0, 0xFF
-_081DDAE8:
- strb r0, [r4, 0x2]
- movs r3, 0x7F
- subs r3, r2
- muls r3, r1
- ldrb r0, [r5, 0x11]
- muls r0, r3
- asrs r0, 14
- cmp r0, 0xFF
- bls _081DDAFC
- movs r0, 0xFF
-_081DDAFC:
- strb r0, [r4, 0x3]
- bx lr
- thumb_func_end ChnVolSetAsm
-
- thumb_func_start ply_note_rev01
-ply_note_rev01: @ 81DDB00
- push {r4-r7,lr}
- mov r4, r8
- mov r5, r9
- mov r6, r10
- mov r7, r11
- push {r4-r7}
- sub sp, 0x18
- str r1, [sp]
- adds r5, r2, 0
- ldr r1, _081DDCFC
- ldr r1, [r1]
- str r1, [sp, 0x4]
- ldr r1, _081DDD00
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r5, 0x4]
- ldr r3, [r5, 0x40]
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _081DDB46
- strb r0, [r5, 0x5]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _081DDB44
- strb r0, [r5, 0x6]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0x80
- bcs _081DDB44
- ldrb r1, [r5, 0x4]
- adds r1, r0
- strb r1, [r5, 0x4]
- adds r3, 0x1
-_081DDB44:
- str r3, [r5, 0x40]
-_081DDB46:
- movs r0, 0
- str r0, [sp, 0x14]
- adds r4, r5, 0
- adds r4, 0x24
- ldrb r2, [r4]
- movs r0, 0xC0
- tst r0, r2
- beq _081DDB98
- ldrb r3, [r5, 0x5]
- movs r0, 0x40
- tst r0, r2
- beq _081DDB66
- ldr r1, [r5, 0x2C]
- adds r1, r3
- ldrb r0, [r1]
- b _081DDB68
-_081DDB66:
- adds r0, r3, 0
-_081DDB68:
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, [r5, 0x28]
- adds r1, r0
- mov r9, r1
- mov r6, r9
- ldrb r1, [r6]
- movs r0, 0xC0
- tst r0, r1
- beq _081DDB80
- b _081DDCEA
-_081DDB80:
- movs r0, 0x80
- tst r0, r2
- beq _081DDB9C
- ldrb r1, [r6, 0x3]
- movs r0, 0x80
- tst r0, r1
- beq _081DDB94
- subs r1, 0xC0
- lsls r1, 1
- str r1, [sp, 0x14]
-_081DDB94:
- ldrb r3, [r6, 0x1]
- b _081DDB9C
-_081DDB98:
- mov r9, r4
- ldrb r3, [r5, 0x5]
-_081DDB9C:
- str r3, [sp, 0x8]
- ldr r6, [sp]
- ldrb r1, [r6, 0x9]
- ldrb r0, [r5, 0x1D]
- adds r0, r1
- cmp r0, 0xFF
- bls _081DDBAC
- movs r0, 0xFF
-_081DDBAC:
- str r0, [sp, 0x10]
- mov r6, r9
- ldrb r0, [r6]
- movs r6, 0x7
- ands r6, r0
- str r6, [sp, 0xC]
- beq _081DDBEC
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
- cmp r4, 0
- bne _081DDBC4
- b _081DDCEA
-_081DDBC4:
- subs r6, 0x1
- lsls r0, r6, 6
- adds r4, r0
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _081DDC40
- movs r0, 0x40
- tst r0, r1
- bne _081DDC40
- ldrb r1, [r4, 0x13]
- ldr r0, [sp, 0x10]
- cmp r1, r0
- bcc _081DDC40
- beq _081DDBE4
- b _081DDCEA
-_081DDBE4:
- ldr r0, [r4, 0x2C]
- cmp r0, r5
- bcs _081DDC40
- b _081DDCEA
-_081DDBEC:
- ldr r6, [sp, 0x10]
- adds r7, r5, 0
- movs r2, 0
- mov r8, r2
- ldr r4, [sp, 0x4]
- ldrb r3, [r4, 0x6]
- adds r4, 0x50
-_081DDBFA:
- ldrb r1, [r4]
- movs r0, 0xC7
- tst r0, r1
- beq _081DDC40
- movs r0, 0x40
- tst r0, r1
- beq _081DDC14
- cmp r2, 0
- bne _081DDC18
- adds r2, 0x1
- ldrb r6, [r4, 0x13]
- ldr r7, [r4, 0x2C]
- b _081DDC32
-_081DDC14:
- cmp r2, 0
- bne _081DDC34
-_081DDC18:
- ldrb r0, [r4, 0x13]
- cmp r0, r6
- bcs _081DDC24
- adds r6, r0, 0
- ldr r7, [r4, 0x2C]
- b _081DDC32
-_081DDC24:
- bhi _081DDC34
- ldr r0, [r4, 0x2C]
- cmp r0, r7
- bls _081DDC30
- adds r7, r0, 0
- b _081DDC32
-_081DDC30:
- bcc _081DDC34
-_081DDC32:
- mov r8, r4
-_081DDC34:
- adds r4, 0x40
- subs r3, 0x1
- bgt _081DDBFA
- mov r4, r8
- cmp r4, 0
- beq _081DDCEA
-_081DDC40:
- adds r0, r4, 0
- bl ClearChain_rev
- movs r1, 0
- str r1, [r4, 0x30]
- ldr r3, [r5, 0x20]
- str r3, [r4, 0x34]
- cmp r3, 0
- beq _081DDC54
- str r4, [r3, 0x30]
-_081DDC54:
- str r4, [r5, 0x20]
- str r5, [r4, 0x2C]
- ldrb r0, [r5, 0x1B]
- strb r0, [r5, 0x1C]
- cmp r0, r1
- beq _081DDC66
- adds r1, r5, 0
- bl clear_modM
-_081DDC66:
- ldr r0, [sp]
- adds r1, r5, 0
- bl TrkVolPitSet_rev01
- ldr r0, [r5, 0x4]
- str r0, [r4, 0x10]
- ldr r0, [sp, 0x10]
- strb r0, [r4, 0x13]
- ldr r0, [sp, 0x8]
- strb r0, [r4, 0x8]
- ldr r0, [sp, 0x14]
- strb r0, [r4, 0x14]
- mov r6, r9
- ldrb r0, [r6]
- strb r0, [r4, 0x1]
- ldr r7, [r6, 0x4]
- str r7, [r4, 0x24]
- ldr r0, [r6, 0x8]
- str r0, [r4, 0x4]
- ldrh r0, [r5, 0x1E]
- strh r0, [r4, 0xC]
- bl ChnVolSetAsm
- ldrb r1, [r4, 0x8]
- movs r0, 0x8
- ldrsb r0, [r5, r0]
- adds r3, r1, r0
- bpl _081DDCA0
- movs r3, 0
-_081DDCA0:
- ldr r6, [sp, 0xC]
- cmp r6, 0
- beq _081DDCCE
- mov r6, r9
- ldrb r0, [r6, 0x2]
- strb r0, [r4, 0x1E]
- ldrb r1, [r6, 0x3]
- movs r0, 0x80
- tst r0, r1
- bne _081DDCBA
- movs r0, 0x70
- tst r0, r1
- bne _081DDCBC
-_081DDCBA:
- movs r1, 0x8
-_081DDCBC:
- strb r1, [r4, 0x1F]
- ldrb r2, [r5, 0x9]
- adds r1, r3, 0
- ldr r0, [sp, 0xC]
- ldr r3, [sp, 0x4]
- ldr r3, [r3, 0x30]
- bl _081DDA7C
- b _081DDCDC
-_081DDCCE:
- ldr r0, [r5, 0x3C]
- str r0, [r4, 0x18]
- ldrb r2, [r5, 0x9]
- adds r1, r3, 0
- adds r0, r7, 0
- bl MidiKey2fr
-_081DDCDC:
- str r0, [r4, 0x20]
- movs r0, 0x80
- strb r0, [r4]
- ldrb r1, [r5]
- movs r0, 0xF0
- ands r0, r1
- strb r0, [r5]
-_081DDCEA:
- add sp, 0x18
- pop {r0-r7}
- mov r8, r0
- mov r9, r1
- mov r10, r2
- mov r11, r3
- pop {r0}
- bx r0
- .align 2, 0
-_081DDCFC: .4byte 0x03007ff0
-_081DDD00: .4byte gUnknown_0842FBE8
- thumb_func_end ply_note_rev01
-
- thumb_func_start ply_endtie_rev01
-ply_endtie_rev01: @ 81DDD04
- push {r4,r5}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- cmp r3, 0x80
- bcs _081DDD16
- strb r3, [r1, 0x5]
- adds r2, 0x1
- str r2, [r1, 0x40]
- b _081DDD18
-_081DDD16:
- ldrb r3, [r1, 0x5]
-_081DDD18:
- ldr r1, [r1, 0x20]
- cmp r1, 0
- beq _081DDD40
- movs r4, 0x83
- movs r5, 0x40
-_081DDD22:
- ldrb r2, [r1]
- tst r2, r4
- beq _081DDD3A
- tst r2, r5
- bne _081DDD3A
- ldrb r0, [r1, 0x11]
- cmp r0, r3
- bne _081DDD3A
- movs r0, 0x40
- orrs r2, r0
- strb r2, [r1]
- b _081DDD40
-_081DDD3A:
- ldr r1, [r1, 0x34]
- cmp r1, 0
- bne _081DDD22
-_081DDD40:
- pop {r4,r5}
- bx lr
- thumb_func_end ply_endtie_rev01
-
- thumb_func_start clear_modM
-clear_modM: @ 81DDD44
- movs r2, 0
- strb r2, [r1, 0x16]
- strb r2, [r1, 0x1A]
- ldrb r2, [r1, 0x18]
- cmp r2, 0
- bne _081DDD54
- movs r2, 0xC
- b _081DDD56
-_081DDD54:
- movs r2, 0x3
-_081DDD56:
- ldrb r3, [r1]
- orrs r3, r2
- strb r3, [r1]
- bx lr
- thumb_func_end clear_modM
-
- thumb_func_start ld_r3_tp_adr_i_rev
-ld_r3_tp_adr_i_rev: @ 81DDD60
- ldr r2, [r1, 0x40]
- adds r3, r2, 0x1
- str r3, [r1, 0x40]
- ldrb r3, [r2]
- bx lr
- thumb_func_end ld_r3_tp_adr_i_rev
-
- thumb_func_start ply_lfos_rev01
-ply_lfos_rev01: @ 81DDD6C
- mov r12, lr
- bl ld_r3_tp_adr_i_rev
- strb r3, [r1, 0x19]
- cmp r3, 0
- bne _081DDD7C
- bl clear_modM
-_081DDD7C:
- bx r12
- thumb_func_end ply_lfos_rev01
-
- thumb_func_start ply_mod_rev01
-ply_mod_rev01: @ 81DDD80
- mov r12, lr
- bl ld_r3_tp_adr_i_rev
- strb r3, [r1, 0x17]
- cmp r3, 0
- bne _081DDD90
- bl clear_modM
-_081DDD90:
- bx r12
- thumb_func_end ply_mod_rev01
-
- thumb_func_start MidiKey2fr
-MidiKey2fr: @ 81DDD94
- push {r4-r7,lr}
- mov r12, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r7, r2, 24
- cmp r6, 0xB2
- bls _081DDDA8
- movs r6, 0xB2
- movs r7, 0xFF
- lsls r7, 24
-_081DDDA8:
- ldr r3, _081DDDF0
- adds r0, r6, r3
- ldrb r5, [r0]
- ldr r4, _081DDDF4
- movs r2, 0xF
- adds r0, r5, 0
- ands r0, r2
- lsls r0, 2
- adds r0, r4
- lsrs r1, r5, 4
- ldr r5, [r0]
- lsrs r5, r1
- adds r0, r6, 0x1
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r1, 0
- ands r0, r2
- lsls r0, 2
- adds r0, r4
- lsrs r1, 4
- ldr r0, [r0]
- lsrs r0, r1
- mov r1, r12
- ldr r4, [r1, 0x4]
- subs r0, r5
- adds r1, r7, 0
- bl umul3232H32
- adds r1, r0, 0
- adds r1, r5, r1
- adds r0, r4, 0
- bl umul3232H32
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081DDDF0: .4byte gUnknown_0842FA04
-_081DDDF4: .4byte gUnknown_0842FAB8
- thumb_func_end MidiKey2fr
-
- thumb_func_start DummyFunc
-DummyFunc: @ 81DDDF8
- bx lr
- thumb_func_end DummyFunc
-
- thumb_func_start MPlayContinue
-MPlayContinue: @ 81DDDFC
- adds r2, r0, 0
- ldr r3, [r2, 0x34]
- ldr r0, _081DDE10
- cmp r3, r0
- bne _081DDE0E
- ldr r0, [r2, 0x4]
- ldr r1, _081DDE14
- ands r0, r1
- str r0, [r2, 0x4]
-_081DDE0E:
- bx lr
- .align 2, 0
-_081DDE10: .4byte 0x68736d53
-_081DDE14: .4byte 0x7fffffff
- thumb_func_end MPlayContinue
-
- thumb_func_start MPlayFadeOut
-@ void MPlayFadeOut(mplay_table_entry *a1, s16 a2)
-MPlayFadeOut: @ 81DDE18
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _081DDE34
- cmp r3, r0
- bne _081DDE30
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r2, 0x28]
-_081DDE30:
- bx lr
- .align 2, 0
-_081DDE34: .4byte 0x68736d53
- thumb_func_end MPlayFadeOut
-
- thumb_func_start m4aSoundInit
-m4aSoundInit: @ 81DDE38
- push {r4-r6,lr}
- ldr r0, _081DDEB8
- movs r1, 0x2
- negs r1, r1
- ands r0, r1
- ldr r1, _081DDEBC
- ldr r2, _081DDEC0
- bl CpuSet
- ldr r0, _081DDEC4
- bl SoundInit_rev01
- ldr r0, _081DDEC8
- bl MPlayExtender
- ldr r0, _081DDECC
- bl SoundMode_rev01
- ldr r0, _081DDED0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _081DDE86
- ldr r6, _081DDED4
- adds r5, r0, 0
-_081DDE6A:
- ldr r4, [r6]
- ldr r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- adds r0, r4, 0
- bl MPlayOpen_rev01
- ldrh r0, [r6, 0xA]
- strb r0, [r4, 0xB]
- ldr r0, _081DDED8
- str r0, [r4, 0x18]
- adds r6, 0xC
- subs r5, 0x1
- cmp r5, 0
- bne _081DDE6A
-_081DDE86:
- ldr r0, _081DDEDC
- ldr r1, _081DDEE0
- movs r2, 0x34
- bl memcpy
- movs r5, 0
- movs r6, 0
-_081DDE94:
- lsls r0, r5, 6
- ldr r1, _081DDEE4
- adds r0, r1
- ldr r4, _081DDEE8
- adds r4, r6, r4
- adds r1, r4, 0
- movs r2, 0x2
- bl MPlayOpen_rev01
- movs r0, 0
- str r0, [r4, 0x20]
- adds r6, 0xA0
- adds r5, 0x1
- cmp r5, 0x1
- ble _081DDE94
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DDEB8: .4byte SoundMainRAM
-_081DDEBC: .4byte 0x03000f60
-_081DDEC0: .4byte 0x04000200
-_081DDEC4: .4byte 0x03005fd0
-_081DDEC8: .4byte 0x03007100
-_081DDECC: .4byte 0x0094c500
-_081DDED0: .4byte 0x00000004
-_081DDED4: .4byte gUnknown_0845545C
-_081DDED8: .4byte 0x03007440
-_081DDEDC: .4byte 0x03007340
-_081DDEE0: .4byte gUnknown_0842FC1C
-_081DDEE4: .4byte 0x03006ff0
-_081DDEE8: .4byte 0x03007200
- thumb_func_end m4aSoundInit
-
- thumb_func_start m4aSoundMain
-m4aSoundMain: @ 81DDEEC
- push {lr}
- bl SoundMain
- pop {r0}
- bx r0
- thumb_func_end m4aSoundMain
-
- thumb_func_start m4aSongNumStart
-m4aSongNumStart: @ 81DDEF8
- push {lr}
- lsls r0, 16
- ldr r2, _081DDF1C
- ldr r1, _081DDF20
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, [r0]
- adds r0, r2, 0
- bl MPlayStart_rev01
- pop {r0}
- bx r0
- .align 2, 0
-_081DDF1C: .4byte gUnknown_0845545C
-_081DDF20: .4byte gUnknown_0845548C
- thumb_func_end m4aSongNumStart
-
- thumb_func_start m4aSongNumStartOrChange
-m4aSongNumStartOrChange: @ 81DDF24
- push {lr}
- lsls r0, 16
- ldr r2, _081DDF50
- ldr r1, _081DDF54
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- ldr r3, [r1]
- ldr r2, [r0]
- cmp r3, r2
- beq _081DDF58
- adds r0, r1, 0
- adds r1, r2, 0
- bl MPlayStart_rev01
- b _081DDF6C
- .align 2, 0
-_081DDF50: .4byte gUnknown_0845545C
-_081DDF54: .4byte gUnknown_0845548C
-_081DDF58:
- ldr r2, [r1, 0x4]
- ldrh r0, [r1, 0x4]
- cmp r0, 0
- beq _081DDF64
- cmp r2, 0
- bge _081DDF6C
-_081DDF64:
- adds r0, r1, 0
- adds r1, r3, 0
- bl MPlayStart_rev01
-_081DDF6C:
- pop {r0}
- bx r0
- thumb_func_end m4aSongNumStartOrChange
-
- thumb_func_start m4aSongNumStartOrContinue
-m4aSongNumStartOrContinue: @ 81DDF70
- push {lr}
- lsls r0, 16
- ldr r2, _081DDF9C
- ldr r1, _081DDFA0
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- ldr r3, [r1]
- ldr r2, [r0]
- cmp r3, r2
- beq _081DDFA4
- adds r0, r1, 0
- adds r1, r2, 0
- bl MPlayStart_rev01
- b _081DDFC0
- .align 2, 0
-_081DDF9C: .4byte gUnknown_0845545C
-_081DDFA0: .4byte gUnknown_0845548C
-_081DDFA4:
- ldr r2, [r1, 0x4]
- ldrh r0, [r1, 0x4]
- cmp r0, 0
- bne _081DDFB6
- adds r0, r1, 0
- adds r1, r3, 0
- bl MPlayStart_rev01
- b _081DDFC0
-_081DDFB6:
- cmp r2, 0
- bge _081DDFC0
- adds r0, r1, 0
- bl MPlayContinue
-_081DDFC0:
- pop {r0}
- bx r0
- thumb_func_end m4aSongNumStartOrContinue
-
- thumb_func_start m4aSongNumStop
-m4aSongNumStop: @ 81DDFC4
- push {lr}
- lsls r0, 16
- ldr r2, _081DDFF0
- ldr r1, _081DDFF4
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, [r2]
- ldr r0, [r0]
- cmp r1, r0
- bne _081DDFEA
- adds r0, r2, 0
- bl MPlayStop_rev01
-_081DDFEA:
- pop {r0}
- bx r0
- .align 2, 0
-_081DDFF0: .4byte gUnknown_0845545C
-_081DDFF4: .4byte gUnknown_0845548C
- thumb_func_end m4aSongNumStop
-
- thumb_func_start m4aSongNumContinue
-m4aSongNumContinue: @ 81DDFF8
- push {lr}
- lsls r0, 16
- ldr r2, _081DE024
- ldr r1, _081DE028
- lsrs r0, 13
- adds r0, r1
- ldrh r3, [r0, 0x4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, [r2]
- ldr r0, [r0]
- cmp r1, r0
- bne _081DE01E
- adds r0, r2, 0
- bl MPlayContinue
-_081DE01E:
- pop {r0}
- bx r0
- .align 2, 0
-_081DE024: .4byte gUnknown_0845545C
-_081DE028: .4byte gUnknown_0845548C
- thumb_func_end m4aSongNumContinue
-
- thumb_func_start m4aMPlayAllStop
-m4aMPlayAllStop: @ 81DE02C
- push {r4,r5,lr}
- ldr r0, _081DE064
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _081DE04A
- ldr r5, _081DE068
- adds r4, r0, 0
-_081DE03C:
- ldr r0, [r5]
- bl MPlayStop_rev01
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bne _081DE03C
-_081DE04A:
- ldr r5, _081DE06C
- movs r4, 0x1
-_081DE04E:
- adds r0, r5, 0
- bl MPlayStop_rev01
- adds r5, 0x40
- subs r4, 0x1
- cmp r4, 0
- bge _081DE04E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE064: .4byte 0x00000004
-_081DE068: .4byte gUnknown_0845545C
-_081DE06C: .4byte 0x03006ff0
- thumb_func_end m4aMPlayAllStop
-
- thumb_func_start m4aMPlayContinue
-m4aMPlayContinue: @ 81DE070
- push {lr}
- bl MPlayContinue
- pop {r0}
- bx r0
- thumb_func_end m4aMPlayContinue
-
- thumb_func_start m4aMPlayAllContinue
-m4aMPlayAllContinue: @ 81DE07A
- push {r4,r5,lr}
- ldr r0, _081DE0B4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _081DE09A
- ldr r5, _081DE0B8
- adds r4, r0, 0
-_081DE08C:
- ldr r0, [r5]
- bl MPlayContinue
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bne _081DE08C
-_081DE09A:
- ldr r5, _081DE0BC
- movs r4, 0x1
-_081DE09E:
- adds r0, r5, 0
- bl MPlayContinue
- adds r5, 0x40
- subs r4, 0x1
- cmp r4, 0
- bge _081DE09E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE0B4: .4byte 0x00000004
-_081DE0B8: .4byte gUnknown_0845545C
-_081DE0BC: .4byte 0x03006ff0
- thumb_func_end m4aMPlayAllContinue
-
- thumb_func_start m4aMPlayFadeOut
-@ void m4aMPlayFadeOut(mplay_table_entry *a1, u16 a2)
-m4aMPlayFadeOut: @ 81DE0C0
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl MPlayFadeOut
- pop {r0}
- bx r0
- thumb_func_end m4aMPlayFadeOut
-
- thumb_func_start sub_81DE0D0
-sub_81DE0D0: @ 81DE0D0
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _081DE0E8
- cmp r3, r0
- bne _081DE0E6
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- ldr r0, _081DE0EC
- strh r0, [r2, 0x28]
-_081DE0E6:
- bx lr
- .align 2, 0
-_081DE0E8: .4byte 0x68736d53
-_081DE0EC: .4byte 0x00000101
- thumb_func_end sub_81DE0D0
-
- thumb_func_start sub_81DE0F0
-sub_81DE0F0: @ 81DE0F0
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _081DE110
- cmp r3, r0
- bne _081DE10E
- strh r1, [r2, 0x26]
- strh r1, [r2, 0x24]
- movs r0, 0x2
- strh r0, [r2, 0x28]
- ldr r0, [r2, 0x4]
- ldr r1, _081DE114
- ands r0, r1
- str r0, [r2, 0x4]
-_081DE10E:
- bx lr
- .align 2, 0
-_081DE110: .4byte 0x68736d53
-_081DE114: .4byte 0x7fffffff
- thumb_func_end sub_81DE0F0
-
- thumb_func_start m4aMPlayImmInit
-m4aMPlayImmInit: @ 81DE118
- push {r4-r7,lr}
- ldrb r5, [r0, 0x8]
- ldr r4, [r0, 0x2C]
- cmp r5, 0
- ble _081DE15A
- movs r7, 0x80
-_081DE124:
- ldrb r1, [r4]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _081DE152
- movs r6, 0x40
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _081DE152
- adds r0, r4, 0
- bl Clear64byte_rev
- strb r7, [r4]
- movs r0, 0x2
- strb r0, [r4, 0xF]
- strb r6, [r4, 0x13]
- movs r0, 0x16
- strb r0, [r4, 0x19]
- adds r1, r4, 0
- adds r1, 0x24
- movs r0, 0x1
- strb r0, [r1]
-_081DE152:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _081DE124
-_081DE15A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end m4aMPlayImmInit
-
- thumb_func_start MPlayExtender
-@ int MPlayExtender(void *dest)
-MPlayExtender: @ 81DE160
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r1, _081DE228
- movs r0, 0x8F
- strh r0, [r1]
- ldr r3, _081DE22C
- movs r2, 0
- strh r2, [r3]
- ldr r0, _081DE230
- movs r1, 0x8
- strb r1, [r0]
- adds r0, 0x6
- strb r1, [r0]
- adds r0, 0x10
- strb r1, [r0]
- subs r0, 0x14
- movs r1, 0x80
- strb r1, [r0]
- adds r0, 0x8
- strb r1, [r0]
- adds r0, 0x10
- strb r1, [r0]
- subs r0, 0xD
- strb r2, [r0]
- movs r0, 0x77
- strb r0, [r3]
- ldr r0, _081DE234
- ldr r4, [r0]
- ldr r6, [r4]
- ldr r0, _081DE238
- cmp r6, r0
- bne _081DE220
- adds r0, r6, 0x1
- str r0, [r4]
- ldr r1, _081DE23C
- ldr r0, _081DE240
- str r0, [r1, 0x20]
- ldr r0, _081DE244
- str r0, [r1, 0x44]
- ldr r0, _081DE248
- str r0, [r1, 0x4C]
- ldr r0, _081DE24C
- str r0, [r1, 0x70]
- ldr r0, _081DE250
- str r0, [r1, 0x74]
- ldr r0, _081DE254
- str r0, [r1, 0x78]
- ldr r0, _081DE258
- str r0, [r1, 0x7C]
- adds r2, r1, 0
- adds r2, 0x80
- ldr r0, _081DE25C
- str r0, [r2]
- adds r1, 0x84
- ldr r0, _081DE260
- str r0, [r1]
- str r5, [r4, 0x1C]
- ldr r0, _081DE264
- str r0, [r4, 0x28]
- ldr r0, _081DE268
- str r0, [r4, 0x2C]
- ldr r0, _081DE26C
- str r0, [r4, 0x30]
- ldr r0, _081DE270
- movs r1, 0
- strb r0, [r4, 0xC]
- str r1, [sp]
- ldr r2, _081DE274
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0x11
- strb r0, [r5, 0x1C]
- adds r1, r5, 0
- adds r1, 0x41
- movs r0, 0x2
- strb r0, [r1]
- adds r1, 0x1B
- movs r0, 0x22
- strb r0, [r1]
- adds r1, 0x25
- movs r0, 0x3
- strb r0, [r1]
- adds r1, 0x1B
- movs r0, 0x44
- strb r0, [r1]
- adds r1, 0x24
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x88
- strb r0, [r1, 0x1C]
- str r6, [r4]
-_081DE220:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE228: .4byte 0x04000084
-_081DE22C: .4byte 0x04000080
-_081DE230: .4byte 0x04000063
-_081DE234: .4byte 0x03007ff0
-_081DE238: .4byte 0x68736d53
-_081DE23C: .4byte 0x03007070
-_081DE240: .4byte ply_memacc
-_081DE244: .4byte ply_lfos_rev01
-_081DE248: .4byte ply_mod_rev01
-_081DE24C: .4byte ply_xcmd
-_081DE250: .4byte ply_endtie_rev01
-_081DE254: .4byte SampFreqSet_rev01
-_081DE258: .4byte TrackStop_rev01
-_081DE25C: .4byte FadeOutBody_rev01
-_081DE260: .4byte TrkVolPitSet_rev01
-_081DE264: .4byte CgbSound
-_081DE268: .4byte CgbOscOff
-_081DE26C: .4byte MidiKey2CgbFr
-_081DE270: .4byte 0x0000003c
-_081DE274: .4byte 0x05000040
- thumb_func_end MPlayExtender
-
- thumb_func_start MusicPlayerJumpTableCopy
-MusicPlayerJumpTableCopy: @ 81DE278
- swi 0x2A
- bx lr
- thumb_func_end MusicPlayerJumpTableCopy
-
- thumb_func_start ClearChain_rev
-ClearChain_rev: @ 81DE27C
- push {lr}
- ldr r1, _081DE28C
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_081DE28C: .4byte 0x030070f8
- thumb_func_end ClearChain_rev
-
- thumb_func_start Clear64byte_rev
-Clear64byte_rev: @ 81DE290
- push {lr}
- ldr r1, _081DE2A0
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_081DE2A0: .4byte 0x030070fc
- thumb_func_end Clear64byte_rev
-
- thumb_func_start SoundInit_rev01
-@ int SoundInit_rev01(void *dest)
-SoundInit_rev01: @ 81DE2A4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r3, 0
- str r3, [r5]
- ldr r1, _081DE35C
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 18
- ands r0, r2
- cmp r0, 0
- beq _081DE2C0
- ldr r0, _081DE360
- str r0, [r1]
-_081DE2C0:
- ldr r1, _081DE364
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- beq _081DE2CE
- ldr r0, _081DE360
- str r0, [r1]
-_081DE2CE:
- ldr r0, _081DE368
- movs r2, 0x80
- lsls r2, 3
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- ldr r1, _081DE36C
- movs r0, 0x8F
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _081DE370
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _081DE374
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _081DE378
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r5, r2
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _081DE37C
- str r0, [r1]
- adds r1, 0x8
- movs r2, 0x98
- lsls r2, 4
- adds r0, r5, r2
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _081DE380
- str r0, [r1]
- ldr r0, _081DE384
- str r5, [r0]
- str r3, [sp]
- ldr r2, _081DE388
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- movs r0, 0x8
- strb r0, [r5, 0x6]
- movs r0, 0xF
- strb r0, [r5, 0x7]
- ldr r0, _081DE38C
- str r0, [r5, 0x38]
- ldr r0, _081DE390
- str r0, [r5, 0x28]
- str r0, [r5, 0x2C]
- str r0, [r5, 0x30]
- str r0, [r5, 0x3C]
- ldr r4, _081DE394
- adds r0, r4, 0
- bl MPlyJmpTblCopy
- str r4, [r5, 0x34]
- movs r0, 0x80
- lsls r0, 11
- bl SampFreqSet_rev01
- ldr r0, _081DE398
- str r0, [r5]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE35C: .4byte 0x040000c4
-_081DE360: .4byte 0x84400004
-_081DE364: .4byte 0x040000d0
-_081DE368: .4byte 0x040000c6
-_081DE36C: .4byte 0x04000084
-_081DE370: .4byte 0x0000a90e
-_081DE374: .4byte 0x04000089
-_081DE378: .4byte 0x040000bc
-_081DE37C: .4byte 0x040000a0
-_081DE380: .4byte 0x040000a4
-_081DE384: .4byte 0x03007ff0
-_081DE388: .4byte 0x050003ec
-_081DE38C: .4byte ply_note_rev01
-_081DE390: .4byte DummyFunc_rev
-_081DE394: .4byte 0x03007070
-_081DE398: .4byte 0x68736d53
- thumb_func_end SoundInit_rev01
-
- thumb_func_start SampFreqSet_rev01
-SampFreqSet_rev01: @ 81DE39C
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, _081DE41C
- ldr r4, [r0]
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r2
- lsrs r2, r0, 16
- movs r6, 0
- strb r2, [r4, 0x8]
- ldr r1, _081DE420
- subs r0, r2, 0x1
- lsls r0, 1
- adds r0, r1
- ldrh r5, [r0]
- str r5, [r4, 0x10]
- movs r0, 0xC6
- lsls r0, 3
- adds r1, r5, 0
- bl __divsi3
- strb r0, [r4, 0xB]
- ldr r0, _081DE424
- muls r0, r5
- ldr r1, _081DE428
- adds r0, r1
- ldr r1, _081DE42C
- bl __divsi3
- adds r1, r0, 0
- str r1, [r4, 0x14]
- movs r0, 0x80
- lsls r0, 17
- bl __divsi3
- adds r0, 0x1
- asrs r0, 1
- str r0, [r4, 0x18]
- ldr r0, _081DE430
- strh r6, [r0]
- ldr r4, _081DE434
- ldr r0, _081DE438
- adds r1, r5, 0
- bl __divsi3
- negs r0, r0
- strh r0, [r4]
- bl SoundVSyncOn_rev01
- ldr r1, _081DE43C
-_081DE400:
- ldrb r0, [r1]
- cmp r0, 0x9F
- beq _081DE400
- ldr r1, _081DE43C
-_081DE408:
- ldrb r0, [r1]
- cmp r0, 0x9F
- bne _081DE408
- ldr r1, _081DE430
- movs r0, 0x80
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE41C: .4byte 0x03007ff0
-_081DE420: .4byte gUnknown_0842FAE8
-_081DE424: .4byte 0x00091d1b
-_081DE428: .4byte 0x00001388
-_081DE42C: .4byte 0x00002710
-_081DE430: .4byte 0x04000102
-_081DE434: .4byte 0x04000100
-_081DE438: .4byte 0x00044940
-_081DE43C: .4byte 0x04000006
- thumb_func_end SampFreqSet_rev01
-
- thumb_func_start SoundMode_rev01
-SoundMode_rev01: @ 81DE440
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _081DE4CC
- ldr r5, [r0]
- ldr r1, [r5]
- ldr r0, _081DE4D0
- cmp r1, r0
- bne _081DE4C6
- adds r0, r1, 0x1
- str r0, [r5]
- movs r4, 0xFF
- ands r4, r3
- cmp r4, 0
- beq _081DE462
- movs r0, 0x7F
- ands r4, r0
- strb r4, [r5, 0x5]
-_081DE462:
- movs r4, 0xF0
- lsls r4, 4
- ands r4, r3
- cmp r4, 0
- beq _081DE482
- lsrs r0, r4, 8
- strb r0, [r5, 0x6]
- movs r4, 0xC
- adds r0, r5, 0
- adds r0, 0x50
- movs r1, 0
-_081DE478:
- strb r1, [r0]
- subs r4, 0x1
- adds r0, 0x40
- cmp r4, 0
- bne _081DE478
-_081DE482:
- movs r4, 0xF0
- lsls r4, 8
- ands r4, r3
- cmp r4, 0
- beq _081DE490
- lsrs r0, r4, 12
- strb r0, [r5, 0x7]
-_081DE490:
- movs r4, 0xB0
- lsls r4, 16
- ands r4, r3
- cmp r4, 0
- beq _081DE4AE
- movs r0, 0xC0
- lsls r0, 14
- ands r0, r4
- lsrs r4, r0, 14
- ldr r2, _081DE4D4
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
-_081DE4AE:
- movs r4, 0xF0
- lsls r4, 12
- ands r4, r3
- cmp r4, 0
- beq _081DE4C2
- bl SoundVSyncOff_rev01
- adds r0, r4, 0
- bl SampFreqSet_rev01
-_081DE4C2:
- ldr r0, _081DE4D0
- str r0, [r5]
-_081DE4C6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE4CC: .4byte 0x03007ff0
-_081DE4D0: .4byte 0x68736d53
-_081DE4D4: .4byte 0x04000089
- thumb_func_end SoundMode_rev01
-
- thumb_func_start SoundClear_rev01
-SoundClear_rev01: @ 81DE4D8
- push {r4-r7,lr}
- ldr r0, _081DE524
- ldr r6, [r0]
- ldr r1, [r6]
- ldr r0, _081DE528
- cmp r1, r0
- bne _081DE51E
- adds r0, r1, 0x1
- str r0, [r6]
- movs r5, 0xC
- adds r4, r6, 0
- adds r4, 0x50
- movs r0, 0
-_081DE4F2:
- strb r0, [r4]
- subs r5, 0x1
- adds r4, 0x40
- cmp r5, 0
- bgt _081DE4F2
- ldr r4, [r6, 0x1C]
- cmp r4, 0
- beq _081DE51A
- movs r5, 0x1
- movs r7, 0
-_081DE506:
- lsls r0, r5, 24
- lsrs r0, 24
- ldr r1, [r6, 0x2C]
- bl _call_via_r1
- strb r7, [r4]
- adds r5, 0x1
- adds r4, 0x40
- cmp r5, 0x4
- ble _081DE506
-_081DE51A:
- ldr r0, _081DE528
- str r0, [r6]
-_081DE51E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE524: .4byte 0x03007ff0
-_081DE528: .4byte 0x68736d53
- thumb_func_end SoundClear_rev01
-
- thumb_func_start SoundVSyncOff_rev01
-SoundVSyncOff_rev01: @ 81DE52C
- push {lr}
- sub sp, 0x4
- ldr r0, _081DE58C
- ldr r2, [r0]
- ldr r1, [r2]
- ldr r3, _081DE590
- adds r0, r1, r3
- cmp r0, 0x1
- bhi _081DE584
- adds r0, r1, 0
- adds r0, 0xA
- str r0, [r2]
- ldr r1, _081DE594
- ldr r0, [r1]
- movs r3, 0x80
- lsls r3, 18
- ands r0, r3
- cmp r0, 0
- beq _081DE556
- ldr r0, _081DE598
- str r0, [r1]
-_081DE556:
- ldr r1, _081DE59C
- ldr r0, [r1]
- ands r0, r3
- cmp r0, 0
- beq _081DE564
- ldr r0, _081DE598
- str r0, [r1]
-_081DE564:
- ldr r0, _081DE5A0
- movs r3, 0x80
- lsls r3, 3
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xD4
- lsls r0, 2
- adds r1, r2, r0
- ldr r2, _081DE5A4
- mov r0, sp
- bl CpuSet
-_081DE584:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_081DE58C: .4byte 0x03007ff0
-_081DE590: .4byte 0x978c92ad
-_081DE594: .4byte 0x040000c4
-_081DE598: .4byte 0x84400004
-_081DE59C: .4byte 0x040000d0
-_081DE5A0: .4byte 0x040000c6
-_081DE5A4: .4byte 0x05000318
- thumb_func_end SoundVSyncOff_rev01
-
- thumb_func_start SoundVSyncOn_rev01
-SoundVSyncOn_rev01: @ 81DE5A8
- push {r4,lr}
- ldr r0, _081DE5D8
- ldr r2, [r0]
- ldr r3, [r2]
- ldr r0, _081DE5DC
- cmp r3, r0
- beq _081DE5D0
- ldr r0, _081DE5E0
- movs r4, 0xB6
- lsls r4, 8
- adds r1, r4, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- ldrb r0, [r2, 0x4]
- movs r0, 0
- strb r0, [r2, 0x4]
- adds r0, r3, 0
- subs r0, 0xA
- str r0, [r2]
-_081DE5D0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE5D8: .4byte 0x03007ff0
-_081DE5DC: .4byte 0x68736d53
-_081DE5E0: .4byte 0x040000c6
- thumb_func_end SoundVSyncOn_rev01
-
- thumb_func_start MPlayOpen_rev01
-MPlayOpen_rev01: @ 81DE5E4
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _081DE648
- cmp r4, 0x10
- bls _081DE5F8
- movs r4, 0x10
-_081DE5F8:
- ldr r0, _081DE650
- ldr r5, [r0]
- ldr r1, [r5]
- ldr r0, _081DE654
- cmp r1, r0
- bne _081DE648
- adds r0, r1, 0x1
- str r0, [r5]
- adds r0, r7, 0
- bl Clear64byte_rev
- str r6, [r7, 0x2C]
- strb r4, [r7, 0x8]
- movs r0, 0x80
- lsls r0, 24
- str r0, [r7, 0x4]
- cmp r4, 0
- beq _081DE62C
- movs r1, 0
-_081DE61E:
- strb r1, [r6]
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, 0x50
- cmp r4, 0
- bne _081DE61E
-_081DE62C:
- ldr r0, [r5, 0x20]
- cmp r0, 0
- beq _081DE63C
- str r0, [r7, 0x38]
- ldr r0, [r5, 0x24]
- str r0, [r7, 0x3C]
- movs r0, 0
- str r0, [r5, 0x20]
-_081DE63C:
- str r7, [r5, 0x24]
- ldr r0, _081DE658
- str r0, [r5, 0x20]
- ldr r0, _081DE654
- str r0, [r5]
- str r0, [r7, 0x34]
-_081DE648:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE650: .4byte 0x03007ff0
-_081DE654: .4byte 0x68736d53
-_081DE658: .4byte MPlayMain_rev01
- thumb_func_end MPlayOpen_rev01
-
- thumb_func_start MPlayStart_rev01
-MPlayStart_rev01: @ 81DE65C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- ldr r1, [r5, 0x34]
- ldr r0, _081DE73C
- cmp r1, r0
- bne _081DE732
- ldrb r0, [r5, 0xB]
- ldrb r2, [r7, 0x2]
- cmp r0, 0
- beq _081DE69E
- ldr r0, [r5]
- cmp r0, 0
- beq _081DE688
- ldr r1, [r5, 0x2C]
- movs r0, 0x40
- ldrb r1, [r1]
- ands r0, r1
- cmp r0, 0
- bne _081DE694
-_081DE688:
- ldr r1, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- cmp r0, 0
- beq _081DE69E
- cmp r1, 0
- blt _081DE69E
-_081DE694:
- ldrb r0, [r7, 0x2]
- adds r2, r0, 0
- ldrb r0, [r5, 0x9]
- cmp r0, r2
- bhi _081DE732
-_081DE69E:
- ldr r0, [r5, 0x34]
- adds r0, 0x1
- str r0, [r5, 0x34]
- movs r1, 0
- str r1, [r5, 0x4]
- str r7, [r5]
- ldr r0, [r7, 0x4]
- str r0, [r5, 0x30]
- strb r2, [r5, 0x9]
- str r1, [r5, 0xC]
- movs r0, 0x96
- strh r0, [r5, 0x1C]
- strh r0, [r5, 0x20]
- adds r0, 0x6A
- strh r0, [r5, 0x1E]
- strh r1, [r5, 0x22]
- strh r1, [r5, 0x24]
- movs r6, 0
- ldr r4, [r5, 0x2C]
- ldrb r1, [r7]
- cmp r6, r1
- bge _081DE6FE
- ldrb r0, [r5, 0x8]
- cmp r6, r0
- bge _081DE71E
- mov r8, r6
-_081DE6D2:
- adds r0, r5, 0
- adds r1, r4, 0
- bl TrackStop_rev01
- movs r0, 0xC0
- strb r0, [r4]
- mov r1, r8
- str r1, [r4, 0x20]
- lsls r1, r6, 2
- adds r0, r7, 0
- adds r0, 0x8
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4, 0x40]
- adds r6, 0x1
- adds r4, 0x50
- ldrb r0, [r7]
- cmp r6, r0
- bge _081DE6FE
- ldrb r1, [r5, 0x8]
- cmp r6, r1
- blt _081DE6D2
-_081DE6FE:
- ldrb r0, [r5, 0x8]
- cmp r6, r0
- bge _081DE71E
- movs r1, 0
- mov r8, r1
-_081DE708:
- adds r0, r5, 0
- adds r1, r4, 0
- bl TrackStop_rev01
- mov r0, r8
- strb r0, [r4]
- adds r6, 0x1
- adds r4, 0x50
- ldrb r1, [r5, 0x8]
- cmp r6, r1
- blt _081DE708
-_081DE71E:
- movs r0, 0x80
- ldrb r1, [r7, 0x3]
- ands r0, r1
- cmp r0, 0
- beq _081DE72E
- ldrb r0, [r7, 0x3]
- bl SoundMode_rev01
-_081DE72E:
- ldr r0, _081DE73C
- str r0, [r5, 0x34]
-_081DE732:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE73C: .4byte 0x68736d53
- thumb_func_end MPlayStart_rev01
-
- thumb_func_start MPlayStop_rev01
-MPlayStop_rev01: @ 81DE740
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r1, [r6, 0x34]
- ldr r0, _081DE77C
- cmp r1, r0
- bne _081DE776
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldr r0, [r6, 0x4]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r6, 0x4]
- ldrb r4, [r6, 0x8]
- ldr r5, [r6, 0x2C]
- cmp r4, 0
- ble _081DE772
-_081DE762:
- adds r0, r6, 0
- adds r1, r5, 0
- bl TrackStop_rev01
- subs r4, 0x1
- adds r5, 0x50
- cmp r4, 0
- bgt _081DE762
-_081DE772:
- ldr r0, _081DE77C
- str r0, [r6, 0x34]
-_081DE776:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DE77C: .4byte 0x68736d53
- thumb_func_end MPlayStop_rev01
-
- thumb_func_start FadeOutBody_rev01
-FadeOutBody_rev01: @ 81DE780
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r1, [r6, 0x24]
- cmp r1, 0
- beq _081DE842
- ldrh r0, [r6, 0x26]
- subs r0, 0x1
- strh r0, [r6, 0x26]
- ldr r3, _081DE7C0
- adds r2, r3, 0
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _081DE842
- strh r1, [r6, 0x26]
- ldrh r1, [r6, 0x28]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081DE7C4
- adds r0, r1, 0
- adds r0, 0x10
- strh r0, [r6, 0x28]
- ands r0, r2
- cmp r0, 0xFF
- bls _081DE816
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r6, 0x28]
- strh r3, [r6, 0x24]
- b _081DE816
- .align 2, 0
-_081DE7C0: .4byte 0x0000ffff
-_081DE7C4:
- adds r0, r1, 0
- subs r0, 0x10
- strh r0, [r6, 0x28]
- ands r0, r2
- lsls r0, 16
- cmp r0, 0
- bgt _081DE816
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- cmp r5, 0
- ble _081DE7F6
-_081DE7DA:
- adds r0, r6, 0
- adds r1, r4, 0
- bl TrackStop_rev01
- movs r0, 0x1
- ldrh r7, [r6, 0x28]
- ands r0, r7
- cmp r0, 0
- bne _081DE7EE
- strb r0, [r4]
-_081DE7EE:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _081DE7DA
-_081DE7F6:
- movs r0, 0x1
- ldrh r1, [r6, 0x28]
- ands r0, r1
- cmp r0, 0
- beq _081DE80A
- ldr r0, [r6, 0x4]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- b _081DE80E
-_081DE80A:
- movs r0, 0x80
- lsls r0, 24
-_081DE80E:
- str r0, [r6, 0x4]
- movs r0, 0
- strh r0, [r6, 0x24]
- b _081DE842
-_081DE816:
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- cmp r5, 0
- ble _081DE842
- movs r3, 0x80
- movs r7, 0
- movs r2, 0x3
-_081DE824:
- ldrb r1, [r4]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _081DE83A
- ldrh r7, [r6, 0x28]
- lsrs r0, r7, 2
- strb r0, [r4, 0x13]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r4]
-_081DE83A:
- subs r5, 0x1
- adds r4, 0x50
- cmp r5, 0
- bgt _081DE824
-_081DE842:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end FadeOutBody_rev01
-
- thumb_func_start TrkVolPitSet_rev01
-TrkVolPitSet_rev01: @ 81DE848
- push {r4,lr}
- adds r2, r1, 0
- movs r0, 0x1
- ldrb r1, [r2]
- ands r0, r1
- cmp r0, 0
- beq _081DE8AC
- ldrb r3, [r2, 0x13]
- ldrb r1, [r2, 0x12]
- adds r0, r3, 0
- muls r0, r1
- lsrs r3, r0, 5
- ldrb r4, [r2, 0x18]
- cmp r4, 0x1
- bne _081DE870
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- adds r0, 0x80
- muls r0, r3
- lsrs r3, r0, 7
-_081DE870:
- movs r0, 0x14
- ldrsb r0, [r2, r0]
- lsls r0, 1
- movs r1, 0x15
- ldrsb r1, [r2, r1]
- adds r1, r0, r1
- cmp r4, 0x2
- bne _081DE886
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- adds r1, r0
-_081DE886:
- movs r0, 0x80
- negs r0, r0
- cmp r1, r0
- bge _081DE892
- adds r1, r0, 0
- b _081DE898
-_081DE892:
- cmp r1, 0x7F
- ble _081DE898
- movs r1, 0x7F
-_081DE898:
- adds r0, r1, 0
- adds r0, 0x80
- muls r0, r3
- lsrs r0, 8
- strb r0, [r2, 0x10]
- movs r0, 0x7F
- subs r0, r1
- muls r0, r3
- lsrs r0, 8
- strb r0, [r2, 0x11]
-_081DE8AC:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- adds r3, r1, 0
- cmp r0, 0
- beq _081DE8F0
- movs r0, 0xE
- ldrsb r0, [r2, r0]
- ldrb r1, [r2, 0xF]
- muls r0, r1
- movs r1, 0xC
- ldrsb r1, [r2, r1]
- adds r1, r0
- lsls r1, 2
- movs r0, 0xA
- ldrsb r0, [r2, r0]
- lsls r0, 8
- adds r1, r0
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0xD]
- adds r1, r0, r1
- ldrb r0, [r2, 0x18]
- cmp r0, 0
- bne _081DE8EA
- movs r0, 0x16
- ldrsb r0, [r2, r0]
- lsls r0, 4
- adds r1, r0
-_081DE8EA:
- asrs r0, r1, 8
- strb r0, [r2, 0x8]
- strb r1, [r2, 0x9]
-_081DE8F0:
- movs r0, 0xFA
- ands r0, r3
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end TrkVolPitSet_rev01
-
- thumb_func_start MidiKey2CgbFr
-MidiKey2CgbFr: @ 81DE8FC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- cmp r0, 0x4
- bne _081DE934
- cmp r5, 0x14
- bhi _081DE918
- movs r5, 0
- b _081DE926
-_081DE918:
- adds r0, r5, 0
- subs r0, 0x15
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3B
- bls _081DE926
- movs r5, 0x3B
-_081DE926:
- ldr r0, _081DE930
- adds r0, r5, r0
- ldrb r0, [r0]
- b _081DE996
- .align 2, 0
-_081DE930: .4byte gUnknown_0842FB9C
-_081DE934:
- cmp r5, 0x23
- bhi _081DE940
- movs r0, 0
- mov r12, r0
- movs r5, 0
- b _081DE952
-_081DE940:
- adds r0, r5, 0
- subs r0, 0x24
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x82
- bls _081DE952
- movs r5, 0x82
- movs r1, 0xFF
- mov r12, r1
-_081DE952:
- ldr r3, _081DE99C
- adds r0, r5, r3
- ldrb r6, [r0]
- ldr r4, _081DE9A0
- movs r2, 0xF
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 1
- adds r0, r4
- movs r7, 0
- ldrsh r1, [r0, r7]
- asrs r0, r6, 4
- adds r6, r1, 0
- asrs r6, r0
- adds r0, r5, 0x1
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r1, 0
- ands r0, r2
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 4
- asrs r0, r1
- subs r0, r6
- mov r7, r12
- muls r7, r0
- adds r0, r7, 0
- asrs r0, 8
- adds r0, r6, r0
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1
-_081DE996:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081DE99C: .4byte gUnknown_0842FB00
-_081DE9A0: .4byte gUnknown_0842FB84
- thumb_func_end MidiKey2CgbFr
-
- thumb_func_start CgbOscOff
-CgbOscOff: @ 81DE9A4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x2
- beq _081DE9CC
- cmp r0, 0x2
- bgt _081DE9B8
- cmp r0, 0x1
- beq _081DE9BE
- b _081DE9E0
-_081DE9B8:
- cmp r1, 0x3
- beq _081DE9D4
- b _081DE9E0
-_081DE9BE:
- ldr r1, _081DE9C8
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x2
- b _081DE9E8
- .align 2, 0
-_081DE9C8: .4byte 0x04000063
-_081DE9CC:
- ldr r1, _081DE9D0
- b _081DE9E2
- .align 2, 0
-_081DE9D0: .4byte 0x04000069
-_081DE9D4:
- ldr r1, _081DE9DC
- movs r0, 0
- b _081DE9EA
- .align 2, 0
-_081DE9DC: .4byte 0x04000070
-_081DE9E0:
- ldr r1, _081DE9F0
-_081DE9E2:
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x4
-_081DE9E8:
- movs r0, 0x80
-_081DE9EA:
- strb r0, [r1]
- bx lr
- .align 2, 0
-_081DE9F0: .4byte 0x04000079
- thumb_func_end CgbOscOff
-
- thumb_func_start CgbModVol
-CgbModVol: @ 81DE9F4
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, _081DEA24
- ldr r1, [r0]
- movs r0, 0x1
- ldrb r1, [r1, 0x9]
- ands r0, r1
- cmp r0, 0
- bne _081DEA34
- ldrb r0, [r2, 0x2]
- lsls r1, r0, 24
- lsrs r4, r1, 24
- ldrb r3, [r2, 0x3]
- lsls r0, r3, 24
- lsrs r3, r0, 24
- cmp r4, r3
- bcc _081DEA28
- lsrs r0, r1, 25
- cmp r0, r3
- bcc _081DEA34
- movs r0, 0xF
- strb r0, [r2, 0x1B]
- b _081DEA42
- .align 2, 0
-_081DEA24: .4byte 0x03007ff0
-_081DEA28:
- lsrs r0, 25
- cmp r0, r4
- bcc _081DEA34
- movs r0, 0xF0
- strb r0, [r2, 0x1B]
- b _081DEA42
-_081DEA34:
- movs r0, 0xFF
- strb r0, [r2, 0x1B]
- ldrb r1, [r2, 0x3]
- ldrb r3, [r2, 0x2]
- adds r0, r1, r3
- lsrs r0, 4
- b _081DEA52
-_081DEA42:
- ldrb r1, [r2, 0x3]
- ldrb r3, [r2, 0x2]
- adds r0, r1, r3
- lsrs r0, 4
- strb r0, [r2, 0xA]
- cmp r0, 0xF
- bls _081DEA54
- movs r0, 0xF
-_081DEA52:
- strb r0, [r2, 0xA]
-_081DEA54:
- ldrb r1, [r2, 0x6]
- ldrb r3, [r2, 0xA]
- adds r0, r1, 0
- muls r0, r3
- adds r0, 0xF
- asrs r0, 4
- strb r0, [r2, 0x19]
- ldrb r0, [r2, 0x1C]
- ldrb r1, [r2, 0x1B]
- ands r0, r1
- strb r0, [r2, 0x1B]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CgbModVol
-
- thumb_func_start CgbSound
-CgbSound: @ 81DEA70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, _081DEA90
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _081DEA94
- subs r0, 0x1
- ldr r1, [sp, 0x4]
- strb r0, [r1, 0xA]
- b _081DEA9A
- .align 2, 0
-_081DEA90: .4byte 0x03007ff0
-_081DEA94:
- movs r0, 0xE
- ldr r2, [sp, 0x4]
- strb r0, [r2, 0xA]
-_081DEA9A:
- movs r6, 0x1
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
-_081DEAA0:
- ldrb r1, [r4]
- movs r0, 0xC7
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- bne _081DEAB6
- b _081DEEA0
-_081DEAB6:
- cmp r6, 0x2
- beq _081DEAE8
- cmp r6, 0x2
- bgt _081DEAC4
- cmp r6, 0x1
- beq _081DEACA
- b _081DEB20
-_081DEAC4:
- cmp r6, 0x3
- beq _081DEB00
- b _081DEB20
-_081DEACA:
- ldr r0, _081DEADC
- str r0, [sp, 0x8]
- ldr r7, _081DEAE0
- ldr r2, _081DEAE4
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _081DEB30
- .align 2, 0
-_081DEADC: .4byte 0x04000060
-_081DEAE0: .4byte 0x04000062
-_081DEAE4: .4byte 0x04000063
-_081DEAE8:
- ldr r0, _081DEAF4
- str r0, [sp, 0x8]
- ldr r7, _081DEAF8
- ldr r2, _081DEAFC
- b _081DEB28
- .align 2, 0
-_081DEAF4: .4byte 0x04000061
-_081DEAF8: .4byte 0x04000068
-_081DEAFC: .4byte 0x04000069
-_081DEB00:
- ldr r0, _081DEB14
- str r0, [sp, 0x8]
- ldr r7, _081DEB18
- ldr r2, _081DEB1C
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _081DEB30
- .align 2, 0
-_081DEB14: .4byte 0x04000070
-_081DEB18: .4byte 0x04000072
-_081DEB1C: .4byte 0x04000073
-_081DEB20:
- ldr r0, _081DEB80
- str r0, [sp, 0x8]
- ldr r7, _081DEB84
- ldr r2, _081DEB88
-_081DEB28:
- str r2, [sp, 0xC]
- adds r0, 0xB
- str r0, [sp, 0x10]
- adds r2, 0x4
-_081DEB30:
- str r2, [sp, 0x14]
- ldr r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- str r0, [sp]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- mov r8, r0
- adds r2, r1, 0
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _081DEC26
- movs r3, 0x40
- adds r0, r3, 0
- ands r0, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- mov r10, r0
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r5, 0
- bne _081DEC4A
- movs r0, 0x3
- strb r0, [r4]
- strb r0, [r4, 0x1D]
- adds r0, r4, 0
- str r3, [sp, 0x18]
- bl CgbModVol
- ldr r3, [sp, 0x18]
- cmp r6, 0x2
- beq _081DEB98
- cmp r6, 0x2
- bgt _081DEB8C
- cmp r6, 0x1
- beq _081DEB92
- b _081DEBEC
- .align 2, 0
-_081DEB80: .4byte 0x04000071
-_081DEB84: .4byte 0x04000078
-_081DEB88: .4byte 0x04000079
-_081DEB8C:
- cmp r6, 0x3
- beq _081DEBA4
- b _081DEBEC
-_081DEB92:
- ldrb r0, [r4, 0x1F]
- ldr r2, [sp, 0x8]
- strb r0, [r2]
-_081DEB98:
- ldr r0, [r4, 0x24]
- lsls r0, 6
- ldrb r1, [r4, 0x1E]
- adds r0, r1, r0
- strb r0, [r7]
- b _081DEBF8
-_081DEBA4:
- ldr r1, [r4, 0x24]
- ldr r0, [r4, 0x28]
- cmp r1, r0
- beq _081DEBCC
- ldr r2, [sp, 0x8]
- strb r3, [r2]
- ldr r1, _081DEBE0
- ldr r2, [r4, 0x24]
- ldr r0, [r2]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x4]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x8]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0xC]
- str r0, [r1]
- str r2, [r4, 0x28]
-_081DEBCC:
- ldr r0, [sp, 0x8]
- strb r5, [r0]
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _081DEBE4
- movs r0, 0xC0
- b _081DEC06
- .align 2, 0
-_081DEBE0: .4byte 0x04000090
-_081DEBE4:
- movs r1, 0x80
- negs r1, r1
- strb r1, [r4, 0x1A]
- b _081DEC08
-_081DEBEC:
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldr r0, [r4, 0x24]
- lsls r0, 3
- ldr r2, [sp, 0x10]
- strb r0, [r2]
-_081DEBF8:
- ldrb r0, [r4, 0x4]
- adds r0, 0x8
- mov r8, r0
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _081DEC06
- movs r0, 0x40
-_081DEC06:
- strb r0, [r4, 0x1A]
-_081DEC08:
- ldrb r1, [r4, 0x4]
- movs r2, 0
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- adds r1, r6, 0x1
- mov r10, r1
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r0, 0
- bne _081DEC22
- b _081DED5E
-_081DEC22:
- strb r2, [r4, 0x9]
- b _081DED8C
-_081DEC26:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _081DEC58
- ldrb r0, [r4, 0xD]
- subs r0, 0x1
- strb r0, [r4, 0xD]
- movs r2, 0xFF
- ands r0, r2
- lsls r0, 24
- adds r1, r6, 0x1
- mov r10, r1
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- ble _081DEC4A
- b _081DED9E
-_081DEC4A:
- lsls r0, r6, 24
- lsrs r0, 24
- bl CgbOscOff
- movs r0, 0
- strb r0, [r4]
- b _081DEE9C
-_081DEC58:
- movs r0, 0x40
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- beq _081DEC98
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081DEC98
- movs r0, 0xFC
- ands r0, r1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x7]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _081DECCA
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED8C
- ldrb r2, [r4, 0x7]
- mov r8, r2
- b _081DED8C
-_081DEC98:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _081DED8C
- cmp r6, 0x3
- bne _081DECAA
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_081DECAA:
- adds r0, r4, 0
- bl CgbModVol
- movs r0, 0x3
- ldrb r2, [r4]
- ands r0, r2
- cmp r0, 0
- bne _081DECFE
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- cmp r0, 0
- bgt _081DECFA
-_081DECCA:
- ldrb r2, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- muls r0, r1
- adds r0, 0xFF
- asrs r0, 8
- movs r1, 0
- strb r0, [r4, 0x9]
- lsls r0, 24
- cmp r0, 0
- beq _081DEC4A
- movs r0, 0x4
- ldrb r2, [r4]
- orrs r0, r2
- strb r0, [r4]
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED9E
- movs r2, 0x8
- mov r8, r2
- b _081DED9E
-_081DECFA:
- ldrb r0, [r4, 0x7]
- b _081DED8A
-_081DECFE:
- cmp r0, 0x1
- bne _081DED0A
-_081DED02:
- ldrb r0, [r4, 0x19]
- strb r0, [r4, 0x9]
- movs r0, 0x7
- b _081DED8A
-_081DED0A:
- cmp r0, 0x2
- bne _081DED4E
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- ldrb r2, [r4, 0x19]
- lsls r1, r2, 24
- cmp r0, r1
- bgt _081DED4A
-_081DED22:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _081DED32
- movs r0, 0xFC
- ldrb r1, [r4]
- ands r0, r1
- strb r0, [r4]
- b _081DECCA
-_081DED32:
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- orrs r0, r2
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED02
- movs r0, 0x8
- mov r8, r0
- b _081DED02
-_081DED4A:
- ldrb r0, [r4, 0x5]
- b _081DED8A
-_081DED4E:
- ldrb r0, [r4, 0x9]
- adds r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- ldrb r2, [r4, 0xA]
- cmp r0, r2
- bcc _081DED88
-_081DED5E:
- ldrb r0, [r4]
- subs r0, 0x1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x5]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _081DED22
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- cmp r6, 0x3
- beq _081DED8C
- ldrb r2, [r4, 0x5]
- mov r8, r2
- b _081DED8C
-_081DED88:
- ldrb r0, [r4, 0x4]
-_081DED8A:
- strb r0, [r4, 0xB]
-_081DED8C:
- ldrb r0, [r4, 0xB]
- subs r0, 0x1
- strb r0, [r4, 0xB]
- ldr r0, [sp]
- cmp r0, 0
- bne _081DED9E
- subs r0, 0x1
- str r0, [sp]
- b _081DEC98
-_081DED9E:
- movs r0, 0x2
- ldrb r1, [r4, 0x1D]
- ands r0, r1
- cmp r0, 0
- beq _081DEE16
- cmp r6, 0x3
- bgt _081DEDDE
- movs r0, 0x8
- ldrb r2, [r4, 0x1]
- ands r0, r2
- cmp r0, 0
- beq _081DEDDE
- ldr r0, _081DEDC8
- ldrb r0, [r0]
- cmp r0, 0x3F
- bgt _081DEDD0
- ldr r0, [r4, 0x20]
- adds r0, 0x2
- ldr r1, _081DEDCC
- b _081DEDDA
- .align 2, 0
-_081DEDC8: .4byte 0x04000089
-_081DEDCC: .4byte 0x000007fc
-_081DEDD0:
- cmp r0, 0x7F
- bgt _081DEDDE
- ldr r0, [r4, 0x20]
- adds r0, 0x1
- ldr r1, _081DEDEC
-_081DEDDA:
- ands r0, r1
- str r0, [r4, 0x20]
-_081DEDDE:
- cmp r6, 0x4
- beq _081DEDF0
- ldr r0, [r4, 0x20]
- ldr r1, [sp, 0x10]
- strb r0, [r1]
- b _081DEDFE
- .align 2, 0
-_081DEDEC: .4byte 0x000007fe
-_081DEDF0:
- ldr r2, [sp, 0x10]
- ldrb r0, [r2]
- movs r1, 0x8
- ands r1, r0
- ldr r0, [r4, 0x20]
- orrs r0, r1
- strb r0, [r2]
-_081DEDFE:
- movs r0, 0xC0
- ldrb r1, [r4, 0x1A]
- ands r0, r1
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r0, r1, r0
- strb r0, [r4, 0x1A]
- movs r2, 0xFF
- ands r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_081DEE16:
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- ands r0, r2
- cmp r0, 0
- beq _081DEE9C
- ldr r1, _081DEE60
- ldrb r0, [r1]
- ldrb r2, [r4, 0x1C]
- bics r0, r2
- ldrb r2, [r4, 0x1B]
- orrs r0, r2
- strb r0, [r1]
- cmp r6, 0x3
- bne _081DEE68
- ldr r0, _081DEE64
- ldrb r1, [r4, 0x9]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, [sp, 0xC]
- strb r0, [r2]
- movs r1, 0x80
- adds r0, r1, 0
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- cmp r0, 0
- beq _081DEE9C
- ldr r0, [sp, 0x8]
- strb r1, [r0]
- ldrb r0, [r4, 0x1A]
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- movs r0, 0x7F
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- strb r0, [r4, 0x1A]
- b _081DEE9C
- .align 2, 0
-_081DEE60: .4byte 0x04000081
-_081DEE64: .4byte gUnknown_0842FBD8
-_081DEE68:
- movs r0, 0xF
- mov r1, r8
- ands r1, r0
- mov r8, r1
- ldrb r2, [r4, 0x9]
- lsls r0, r2, 4
- add r0, r8
- ldr r1, [sp, 0xC]
- strb r0, [r1]
- movs r2, 0x80
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- cmp r6, 0x1
- bne _081DEE9C
- ldr r0, [sp, 0x8]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _081DEE9C
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_081DEE9C:
- movs r0, 0
- strb r0, [r4, 0x1D]
-_081DEEA0:
- mov r6, r10
- mov r4, r9
- cmp r6, 0x4
- bgt _081DEEAA
- b _081DEAA0
-_081DEEAA:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CgbSound
-
- thumb_func_start MPlayTempoControl
-MPlayTempoControl: @ 81DEEBC
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r3, [r2, 0x34]
- ldr r0, _081DEEE0
- cmp r3, r0
- bne _081DEED8
- strh r1, [r2, 0x1E]
- ldrh r4, [r2, 0x1C]
- adds r0, r1, 0
- muls r0, r4
- asrs r0, 8
- strh r0, [r2, 0x20]
-_081DEED8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DEEE0: .4byte 0x68736d53
- thumb_func_end MPlayTempoControl
-
- thumb_func_start MPlayVolumeControl
-MPlayVolumeControl: @ 81DEEE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r6, r2, 16
- ldr r3, [r4, 0x34]
- ldr r0, _081DEF48
- cmp r3, r0
- bne _081DEF3C
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r1, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _081DEF38
- movs r0, 0x80
- mov r8, r0
- lsrs r6, 18
- movs r0, 0x3
- mov r12, r0
-_081DEF14:
- adds r0, r7, 0
- ands r0, r5
- cmp r0, 0
- beq _081DEF2E
- ldrb r3, [r1]
- mov r0, r8
- ands r0, r3
- cmp r0, 0
- beq _081DEF2E
- strb r6, [r1, 0x13]
- mov r0, r12
- orrs r0, r3
- strb r0, [r1]
-_081DEF2E:
- subs r2, 0x1
- adds r1, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _081DEF14
-_081DEF38:
- ldr r0, _081DEF48
- str r0, [r4, 0x34]
-_081DEF3C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DEF48: .4byte 0x68736d53
- thumb_func_end MPlayVolumeControl
-
- thumb_func_start MPlayPitchControl
-MPlayPitchControl: @ 81DEF4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r12, r1
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r3, [r4, 0x34]
- ldr r0, _081DEFBC
- cmp r3, r0
- bne _081DEFAE
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r3, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _081DEFAA
- movs r0, 0x80
- mov r9, r0
- lsls r0, r6, 16
- asrs r7, r0, 24
- movs r0, 0xC
- mov r8, r0
-_081DEF84:
- mov r0, r12
- ands r0, r5
- cmp r0, 0
- beq _081DEFA0
- ldrb r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _081DEFA0
- strb r7, [r3, 0xB]
- strb r6, [r3, 0xD]
- mov r0, r8
- orrs r0, r1
- strb r0, [r3]
-_081DEFA0:
- subs r2, 0x1
- adds r3, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _081DEF84
-_081DEFAA:
- ldr r0, _081DEFBC
- str r0, [r4, 0x34]
-_081DEFAE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DEFBC: .4byte 0x68736d53
- thumb_func_end MPlayPitchControl
-
- thumb_func_start MPlayPanpotControl
-MPlayPanpotControl: @ 81DEFC0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r3, [r4, 0x34]
- ldr r0, _081DF024
- cmp r3, r0
- bne _081DF018
- adds r0, r3, 0x1
- str r0, [r4, 0x34]
- ldrb r2, [r4, 0x8]
- ldr r1, [r4, 0x2C]
- movs r5, 0x1
- cmp r2, 0
- ble _081DF014
- movs r0, 0x80
- mov r8, r0
- movs r0, 0x3
- mov r12, r0
-_081DEFF0:
- adds r0, r7, 0
- ands r0, r5
- cmp r0, 0
- beq _081DF00A
- ldrb r3, [r1]
- mov r0, r8
- ands r0, r3
- cmp r0, 0
- beq _081DF00A
- strb r6, [r1, 0x15]
- mov r0, r12
- orrs r0, r3
- strb r0, [r1]
-_081DF00A:
- subs r2, 0x1
- adds r1, 0x50
- lsls r5, 1
- cmp r2, 0
- bgt _081DEFF0
-_081DF014:
- ldr r0, _081DF024
- str r0, [r4, 0x34]
-_081DF018:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF024: .4byte 0x68736d53
- thumb_func_end MPlayPanpotControl
-
- thumb_func_start MP_clear_modM
-MP_clear_modM: @ 81DF028
- adds r1, r0, 0
- movs r2, 0
- movs r0, 0
- strb r0, [r1, 0x1A]
- strb r0, [r1, 0x16]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- bne _081DF03C
- movs r0, 0xC
- b _081DF03E
-_081DF03C:
- movs r0, 0x3
-_081DF03E:
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- thumb_func_end MP_clear_modM
-
- thumb_func_start MPlayModDepthSet
-MPlayModDepthSet: @ 81DF048
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, [r6, 0x34]
- ldr r0, _081DF0B8
- cmp r1, r0
- bne _081DF0A8
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- movs r7, 0x1
- cmp r5, 0
- ble _081DF0A4
- mov r9, r8
-_081DF078:
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _081DF09A
- movs r0, 0x80
- ldrb r1, [r4]
- ands r0, r1
- cmp r0, 0
- beq _081DF09A
- mov r0, r8
- strb r0, [r4, 0x17]
- mov r1, r9
- cmp r1, 0
- bne _081DF09A
- adds r0, r4, 0
- bl MP_clear_modM
-_081DF09A:
- subs r5, 0x1
- adds r4, 0x50
- lsls r7, 1
- cmp r5, 0
- bgt _081DF078
-_081DF0A4:
- ldr r0, _081DF0B8
- str r0, [r6, 0x34]
-_081DF0A8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF0B8: .4byte 0x68736d53
- thumb_func_end MPlayModDepthSet
-
- thumb_func_start MPlayLFOSpeedSet
-MPlayLFOSpeedSet: @ 81DF0BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, [r6, 0x34]
- ldr r0, _081DF12C
- cmp r1, r0
- bne _081DF11C
- adds r0, r1, 0x1
- str r0, [r6, 0x34]
- ldrb r5, [r6, 0x8]
- ldr r4, [r6, 0x2C]
- movs r7, 0x1
- cmp r5, 0
- ble _081DF118
- mov r9, r8
-_081DF0EC:
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _081DF10E
- movs r0, 0x80
- ldrb r1, [r4]
- ands r0, r1
- cmp r0, 0
- beq _081DF10E
- mov r0, r8
- strb r0, [r4, 0x19]
- mov r1, r9
- cmp r1, 0
- bne _081DF10E
- adds r0, r4, 0
- bl MP_clear_modM
-_081DF10E:
- subs r5, 0x1
- adds r4, 0x50
- lsls r7, 1
- cmp r5, 0
- bgt _081DF0EC
-_081DF118:
- ldr r0, _081DF12C
- str r0, [r6, 0x34]
-_081DF11C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF12C: .4byte 0x68736d53
- thumb_func_end MPlayLFOSpeedSet
-
- thumb_func_start ply_memacc
-ply_memacc: @ 81DF130
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r1, [r6, 0x40]
- ldrb r5, [r1]
- adds r2, r1, 0x1
- str r2, [r6, 0x40]
- ldr r0, [r4, 0x18]
- ldrb r1, [r1, 0x1]
- adds r3, r1, r0
- adds r0, r2, 0x1
- str r0, [r6, 0x40]
- ldrb r2, [r2, 0x1]
- adds r0, 0x1
- str r0, [r6, 0x40]
- cmp r5, 0x11
- bls _081DF154
- b _081DF282
-_081DF154:
- lsls r0, r5, 2
- ldr r1, _081DF160
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081DF160: .4byte _081DF164
- .align 2, 0
-_081DF164:
- .4byte _081DF1AC
- .4byte _081DF1B0
- .4byte _081DF1B8
- .4byte _081DF1C0
- .4byte _081DF1CA
- .4byte _081DF1D8
- .4byte _081DF1E6
- .4byte _081DF1EE
- .4byte _081DF1F6
- .4byte _081DF1FE
- .4byte _081DF206
- .4byte _081DF20E
- .4byte _081DF216
- .4byte _081DF224
- .4byte _081DF232
- .4byte _081DF240
- .4byte _081DF24E
- .4byte _081DF25C
-_081DF1AC:
- strb r2, [r3]
- b _081DF282
-_081DF1B0:
- ldrb r1, [r3]
- adds r0, r1, r2
- strb r0, [r3]
- b _081DF282
-_081DF1B8:
- ldrb r1, [r3]
- subs r0, r1, r2
- strb r0, [r3]
- b _081DF282
-_081DF1C0:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r3]
- b _081DF282
-_081DF1CA:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r1, [r3]
- ldrb r0, [r0]
- adds r0, r1, r0
- strb r0, [r3]
- b _081DF282
-_081DF1D8:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r1, [r3]
- ldrb r0, [r0]
- subs r0, r1, r0
- strb r0, [r3]
- b _081DF282
-_081DF1E6:
- ldrb r3, [r3]
- cmp r3, r2
- beq _081DF268
- b _081DF27C
-_081DF1EE:
- ldrb r3, [r3]
- cmp r3, r2
- bne _081DF268
- b _081DF27C
-_081DF1F6:
- ldrb r3, [r3]
- cmp r3, r2
- bhi _081DF268
- b _081DF27C
-_081DF1FE:
- ldrb r3, [r3]
- cmp r3, r2
- bcs _081DF268
- b _081DF27C
-_081DF206:
- ldrb r3, [r3]
- cmp r3, r2
- bls _081DF268
- b _081DF27C
-_081DF20E:
- ldrb r3, [r3]
- cmp r3, r2
- bcc _081DF268
- b _081DF27C
-_081DF216:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- beq _081DF268
- b _081DF27C
-_081DF224:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bne _081DF268
- b _081DF27C
-_081DF232:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bhi _081DF268
- b _081DF27C
-_081DF240:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _081DF268
- b _081DF27C
-_081DF24E:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bls _081DF268
- b _081DF27C
-_081DF25C:
- ldr r0, [r4, 0x18]
- adds r0, r2
- ldrb r3, [r3]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _081DF27C
-_081DF268:
- ldr r0, _081DF278
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl _call_via_r2
- b _081DF282
- .align 2, 0
-_081DF278: .4byte 0x03007074
-_081DF27C:
- ldr r0, [r6, 0x40]
- adds r0, 0x4
- str r0, [r6, 0x40]
-_081DF282:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ply_memacc
-
- thumb_func_start ply_xcmd
-ply_xcmd: @ 81DF288
- push {lr}
- ldr r2, [r1, 0x40]
- ldrb r3, [r2]
- adds r2, 0x1
- str r2, [r1, 0x40]
- ldr r2, _081DF2A4
- lsls r3, 2
- adds r3, r2
- ldr r2, [r3]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_081DF2A4: .4byte gUnknown_0842FC50
- thumb_func_end ply_xcmd
-
- thumb_func_start ply_xxx
-ply_xxx: @ 81DF2A8
- push {lr}
- ldr r2, _081DF2B8
- ldr r2, [r2]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_081DF2B8: .4byte 0x03007070
- thumb_func_end ply_xxx
-
- thumb_func_start ply_xwave
-ply_xwave: @ 81DF2BC
- push {r4,lr}
- ldr r2, [r1, 0x40]
- ldr r0, _081DF2F4
- ands r4, r0
- ldrb r0, [r2]
- orrs r4, r0
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 8
- ldr r0, _081DF2F8
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x2]
- lsls r3, r0, 16
- ldr r0, _081DF2FC
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x3]
- lsls r3, r0, 24
- ldr r0, _081DF300
- ands r4, r0
- orrs r4, r3
- str r4, [r1, 0x28]
- adds r2, 0x4
- str r2, [r1, 0x40]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF2F4: .4byte 0xffffff00
-_081DF2F8: .4byte 0xffff00ff
-_081DF2FC: .4byte 0xff00ffff
-_081DF300: .4byte 0x00ffffff
- thumb_func_end ply_xwave
-
- thumb_func_start ply_xtype
-ply_xtype: @ 81DF304
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- strb r2, [r0]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xtype
-
- thumb_func_start ply_xatta
-ply_xatta: @ 81DF318
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- adds r0, r1, 0
- adds r0, 0x2C
- strb r2, [r0]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xatta
-
- thumb_func_start ply_xdeca
-ply_xdeca: @ 81DF32C
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x2D
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xdeca
-
- thumb_func_start ply_xsust
-ply_xsust: @ 81DF340
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x2E
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xsust
-
- thumb_func_start ply_xrele
-ply_xrele: @ 81DF354
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x2F
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xrele
-
- thumb_func_start ply_xiecv
-ply_xiecv: @ 81DF368
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- strb r2, [r1, 0x1E]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xiecv
-
- thumb_func_start ply_xiecl
-ply_xiecl: @ 81DF374
- ldr r0, [r1, 0x40]
- ldrb r2, [r0]
- strb r2, [r1, 0x1F]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xiecl
-
- thumb_func_start ply_xleng
-ply_xleng: @ 81DF380
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x26
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xleng
-
- thumb_func_start ply_xswee
-ply_xswee: @ 81DF394
- ldr r0, [r1, 0x40]
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x27
- strb r0, [r2]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- bx lr
- thumb_func_end ply_xswee
-
- thumb_func_start ply_xcmd0C
-ply_xcmd0C: @ 81DF3A8
- push {r4,lr}
- adds r3, r1, 0
- ldr r4, [r3, 0x40]
- ldr r0, _081DF3D8
- ands r2, r0
- ldrb r0, [r4]
- orrs r2, r0
- ldrb r0, [r4, 0x1]
- lsls r1, r0, 8
- ldr r0, _081DF3DC
- ands r2, r0
- orrs r2, r1
- ldrh r1, [r3, 0x3A]
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r1, r0
- bcs _081DF3E0
- adds r0, r1, 0x1
- strh r0, [r3, 0x3A]
- subs r0, r4, 0x2
- str r0, [r3, 0x40]
- movs r0, 0x1
- strb r0, [r3, 0x1]
- b _081DF3E8
- .align 2, 0
-_081DF3D8: .4byte 0xffffff00
-_081DF3DC: .4byte 0xffff00ff
-_081DF3E0:
- movs r0, 0
- strh r0, [r3, 0x3A]
- adds r0, r4, 0x2
- str r0, [r3, 0x40]
-_081DF3E8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ply_xcmd0C
-
- thumb_func_start ply_xcmd0D
-ply_xcmd0D: @ 81DF3F0
- push {r4,lr}
- ldr r2, [r1, 0x40]
- ldr r0, _081DF428
- ands r4, r0
- ldrb r0, [r2]
- orrs r4, r0
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 8
- ldr r0, _081DF42C
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x2]
- lsls r3, r0, 16
- ldr r0, _081DF430
- ands r4, r0
- orrs r4, r3
- ldrb r0, [r2, 0x3]
- lsls r3, r0, 24
- ldr r0, _081DF434
- ands r4, r0
- orrs r4, r3
- str r4, [r1, 0x3C]
- adds r2, 0x4
- str r2, [r1, 0x40]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF428: .4byte 0xffffff00
-_081DF42C: .4byte 0xffff00ff
-_081DF430: .4byte 0xff00ffff
-_081DF434: .4byte 0x00ffffff
- thumb_func_end ply_xcmd0D
-
- thumb_func_start DummyFunc_rev
-DummyFunc_rev: @ 81DF438
- bx lr
- thumb_func_end DummyFunc_rev
-
- thumb_func_start sub_81DF43C
-sub_81DF43C: @ 81DF43C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- movs r6, 0
- movs r1, 0
- movs r4, 0
- ldr r0, _081DF4F8
- mov r8, r0
- ldr r7, _081DF4FC
- ldr r0, _081DF500
- mov r10, r0
- mov r5, r8
- adds r5, 0xC
- movs r3, 0
- ldr r0, _081DF504
- mov r12, r0
-_081DF462:
- mov r0, r12
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _081DF478
- ldr r0, [r2, 0x20]
- cmp r0, 0
- beq _081DF48E
- ldr r0, [r0, 0x2C]
- cmp r0, r2
- bne _081DF48E
-_081DF478:
- ldr r0, [r5]
- cmp r6, r0
- bcs _081DF482
- adds r6, r0, 0
- adds r1, r4, 0
-_081DF482:
- adds r5, 0x40
- adds r3, 0xA0
- adds r4, 0x1
- cmp r4, 0x1
- ble _081DF462
- adds r4, r1, 0
-_081DF48E:
- lsls r5, r4, 6
- add r5, r8
- ldr r0, [r5, 0x34]
- adds r0, 0x1
- str r0, [r5, 0x34]
- movs r0, 0x34
- muls r4, r0
- adds r6, r4, r7
- adds r0, r6, 0
- mov r1, r10
- movs r2, 0x34
- bl memcpy
- adds r0, r7, 0x4
- adds r0, r4, r0
- mov r1, r9
- str r1, [r0]
- adds r1, r7, 0
- adds r1, 0x8
- adds r1, r4, r1
- adds r0, r7, 0
- adds r0, 0x11
- adds r0, r4, r0
- str r0, [r1]
- adds r1, r7, 0
- adds r1, 0xC
- adds r1, r4, r1
- adds r0, r7, 0
- adds r0, 0x18
- adds r0, r4, r0
- str r0, [r1]
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r4, r0
- adds r1, r7, 0
- adds r1, 0x1A
- adds r4, r1
- str r4, [r0]
- ldr r0, _081DF508
- str r0, [r5, 0x34]
- adds r0, r5, 0
- adds r1, r6, 0
- bl MPlayStart_rev01
- adds r0, r5, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081DF4F8: .4byte 0x03006ff0
-_081DF4FC: .4byte 0x03006f80
-_081DF500: .4byte 0x03007340
-_081DF504: .4byte 0x03007200
-_081DF508: .4byte 0x68736d53
- thumb_func_end sub_81DF43C
-
- thumb_func_start sub_81DF50C
-sub_81DF50C: @ 81DF50C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _081DF51C
- movs r1, 0x7F
- ands r0, r1
- strb r0, [r2, 0x1D]
- bx lr
- .align 2, 0
-_081DF51C: .4byte 0x03007340
- thumb_func_end sub_81DF50C
-
- thumb_func_start sub_81DF520
-sub_81DF520: @ 81DF520
- ldr r2, _081DF534
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x40
- movs r1, 0x7F
- ands r0, r1
- adds r2, 0x28
- strb r0, [r2]
- bx lr
- .align 2, 0
-_081DF534: .4byte 0x03007340
- thumb_func_end sub_81DF520
-
- thumb_func_start sub_81DF538
-sub_81DF538: @ 81DF538
- push {r4-r6,lr}
- lsls r0, 16
- ldr r3, _081DF56C
- ldrb r2, [r3, 0x19]
- ldrb r4, [r3, 0x12]
- subs r1, r2, r4
- lsls r1, 24
- lsrs r1, 24
- movs r6, 0x80
- lsls r6, 16
- adds r0, r6
- asrs r2, r0, 24
- movs r5, 0x7F
- movs r4, 0x7F
- ands r2, r4
- movs r6, 0x2A
- strb r2, [r6, r3]
- asrs r0, 17
- ands r0, r4
- strb r0, [r3, 0x12]
- adds r1, r0
- ands r1, r5
- strb r1, [r3, 0x19]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF56C: .4byte 0x03007340
- thumb_func_end sub_81DF538
-
- thumb_func_start sub_81DF570
-sub_81DF570: @ 81DF570
- ldr r1, _081DF578
- strh r0, [r1, 0x2E]
- bx lr
- .align 2, 0
-_081DF578: .4byte 0x03007340
- thumb_func_end sub_81DF570
-
- thumb_func_start sub_81DF57C
-sub_81DF57C: @ 81DF57C
- ldr r1, _081DF584
- adds r1, 0x26
- strb r0, [r1]
- bx lr
- .align 2, 0
-_081DF584: .4byte 0x03007340
- thumb_func_end sub_81DF57C
-
- thumb_func_start sub_81DF588
-sub_81DF588: @ 81DF588
- ldr r1, _081DF590
- str r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_081DF590: .4byte 0x03007340
- thumb_func_end sub_81DF588
-
- thumb_func_start sub_81DF594
-sub_81DF594: @ 81DF594
- ldr r1, [r0, 0x2C]
- ldr r0, [r1, 0x20]
- cmp r0, 0
- beq _081DF5A6
- ldr r0, [r0, 0x2C]
- cmp r0, r1
- bne _081DF5A6
- movs r0, 0x1
- b _081DF5A8
-_081DF5A6:
- movs r0, 0
-_081DF5A8:
- bx lr
- thumb_func_end sub_81DF594
-
- thumb_func_start sub_81DF5AC
-sub_81DF5AC: @ 81DF5AC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r0, 0
- beq _081DF5CC
- ldr r2, _081DF5C8
- movs r0, 0x2
- strb r0, [r2]
- ldrb r3, [r2, 0x12]
- adds r0, r3, r1
- movs r1, 0x7F
- ands r0, r1
- strb r0, [r2, 0x19]
- b _081DF5D2
- .align 2, 0
-_081DF5C8: .4byte 0x03007340
-_081DF5CC:
- ldr r1, _081DF5D4
- movs r0, 0x1
- strb r0, [r1]
-_081DF5D2:
- bx lr
- .align 2, 0
-_081DF5D4: .4byte 0x03007340
- thumb_func_end sub_81DF5AC
-
- thumb_func_start sub_81DF5D8
-sub_81DF5D8: @ 81DF5D8
- ldr r1, _081DF5F0
- ldr r2, [r1]
- cmp r0, 0
- beq _081DF5FC
- ldr r1, _081DF5F4
- ldr r3, _081DF5F8
- adds r0, r3, 0
- strh r0, [r1]
- movs r0, 0xFE
- ldrb r1, [r2, 0x9]
- ands r0, r1
- b _081DF60A
- .align 2, 0
-_081DF5F0: .4byte 0x03007ff0
-_081DF5F4: .4byte 0x04000082
-_081DF5F8: .4byte 0x0000210e
-_081DF5FC:
- ldr r1, _081DF610
- ldr r3, _081DF614
- adds r0, r3, 0
- strh r0, [r1]
- movs r0, 0x1
- ldrb r1, [r2, 0x9]
- orrs r0, r1
-_081DF60A:
- strb r0, [r2, 0x9]
- bx lr
- .align 2, 0
-_081DF610: .4byte 0x04000082
-_081DF614: .4byte 0x00003302
- thumb_func_end sub_81DF5D8
-
- thumb_func_start sub_81DF618
-sub_81DF618: @ 81DF618
- ldr r1, _081DF620
- strb r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_081DF620: .4byte 0x03007340
- thumb_func_end sub_81DF618
-
- .align 2, 0 @ Don't pad with nop.