Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Castlevania Aria of Sorrow (U)
- ; AGB MusicPlayer2000 reverb related routine
- ; THUMB
- ; r0 = SoundArea* (030054F0)
- ; r3 = reverb value
- 030028d8 7943 ldrb r3, [r0, #5]
- 030028da 2b00 cmp r3, #0
- 030028dc d022 beq $03002924
- 030028de a101 add r1, pc, #4 (adr r1,$030028e4)
- 030028e0 4708 bx r1
- ; ARM
- 030028e4 e3540002 cmp r4, #2
- 030028e8 02807e35 addeq r7, r0, #848
- 030028ec 10857008 addne r7, r5, r8
- 030028f0 e1a04008 mov r4, r8
- 030028f4 e1d500d0 ldrsb r0, [r5]
- 030028f8 e0d710d1 ldrsb r1, [r7], #1
- 030028fc e0800001 add r0, r0, r1
- 03002900 e0010390 mul r1, r0, r3
- 03002904 e1a00441 mov r0, r1, asr #8
- 03002908 e3100080 tst r0, #128
- 0300290c 12800001 addne r0, r0, #1
- 03002910 e4c50001 strb r0, [r5], #1
- 03002914 e2544001 subs r4, r4, #1
- 03002918 cafffff5 bgt $030028f4
- 0300291c e28f001f add r0, pc, #31 (adr r0,$0300293e)
- 03002920 e12fff10 bx r0
- ; THUMB
- 03002924 2000 mov r0, #0
- 03002926 4641 mov r1, r8
- 03002928 08c9 lsr r1, r1, #3
- 0300292a d300 bcc $0300292e
- 0300292c c501 stmia r5!,{r0}
- 0300292e 0849 lsr r1, r1, #1
- 03002930 d301 bcc $03002936
- 03002932 c501 stmia r5!,{r0}
- 03002934 c501 stmia r5!,{r0}
- 03002936 c501 stmia r5!,{r0}
- 03002938 c501 stmia r5!,{r0}
- 0300293a c501 stmia r5!,{r0}
- 0300293c c501 stmia r5!,{r0}
- 0300293e 3901 sub r1, #1
- 03002940 dcf9 bgt $03002936
- 03002942 9c06 ldr r4, [sp, #24]
- 03002944 69a0 ldr r0, [r4, #24]
- 03002946 4684 mov ip, r0
- 03002948 79a0 ldrb r0, [r4, #6]
- 0300294a 3450 add r4, #80
- 0300294c 9001 str r0, [sp, #4]
- 0300294e 6a63 ldr r3, [r4, #36]
- 03002950 9805 ldr r0, [sp, #20]
- 03002952 2800 cmp r0, #0
- 03002954 d00a beq $0300296c
- 03002956 4904 ldr r1, [pc, #16] ($03002968)
- 03002958 7809 ldrb r1, [r1, #0]
- 0300295a 29a0 cmp r1, #160
- 0300295c d200 bcs $03002960
- 0300295e 31e4 add r1, #228
- 03002960 4281 cmp r1, r0
- 03002962 d303 bcc $0300296c
- 03002964 e143 b $03002bee
- 03002966 0000 lsl r0, r0, #0
- 03002968 0006 lsl r6, r0, #0
- 0300296a 0400 lsl r0, r0, #16
- 0300296c 7826 ldrb r6, [r4, #0]
- 0300296e 20c7 mov r0, #199
- 03002970 4230 tst r0, r6
- 03002972 d100 bne $03002976
- 03002974 e136 b $03002be4
- 03002976 2080 mov r0, #128
- 03002978 4230 tst r0, r6
- 0300297a d014 beq $030029a6
- 0300297c 2040 mov r0, #64
- 0300297e 4230 tst r0, r6
- 03002980 d119 bne $030029b6
- 03002982 2603 mov r6, #3
- 03002984 7026 strb r6, [r4, #0]
- 03002986 1c18 mov r0, r3 (add r0, r3, #0)
- 03002988 3010 add r0, #16
- 0300298a 62a0 str r0, [r4, #40]
- 0300298c 68d8 ldr r0, [r3, #12]
- 0300298e 61a0 str r0, [r4, #24]
- 03002990 2500 mov r5, #0
- 03002992 7265 strb r5, [r4, #9]
- 03002994 61e5 str r5, [r4, #28]
- 03002996 78da ldrb r2, [r3, #3]
- 03002998 20c0 mov r0, #192
- 0300299a 4210 tst r0, r2
- 0300299c d02f beq $030029fe
- 0300299e 2010 mov r0, #16
- 030029a0 4306 orr r6, r0
- 030029a2 7026 strb r6, [r4, #0]
- 030029a4 e02b b $030029fe
- 030029a6 7a65 ldrb r5, [r4, #9]
- 030029a8 2004 mov r0, #4
- 030029aa 4230 tst r0, r6
- 030029ac d006 beq $030029bc
- 030029ae 7b60 ldrb r0, [r4, #13]
- 030029b0 3801 sub r0, #1
- 030029b2 7360 strb r0, [r4, #13]
- 030029b4 d82a bhi $03002a0c
- 030029b6 2000 mov r0, #0
- 030029b8 7020 strb r0, [r4, #0]
- 030029ba e113 b $03002be4
- 030029bc 2040 mov r0, #64
- 030029be 4230 tst r0, r6
- 030029c0 d00c beq $030029dc
- 030029c2 79e0 ldrb r0, [r4, #7]
- 030029c4 4345 mul r5, r0
- 030029c6 0a2d lsr r5, r5, #8
- 030029c8 7b20 ldrb r0, [r4, #12]
- 030029ca 4285 cmp r5, r0
- 030029cc d81e bhi $03002a0c
- 030029ce 7b25 ldrb r5, [r4, #12]
- 030029d0 2d00 cmp r5, #0
- 030029d2 d0f0 beq $030029b6
- 030029d4 2004 mov r0, #4
- 030029d6 4306 orr r6, r0
- 030029d8 7026 strb r6, [r4, #0]
- 030029da e017 b $03002a0c
- 030029dc 2203 mov r2, #3
- 030029de 4032 and r2, r6
- 030029e0 2a02 cmp r2, #2
- 030029e2 d10a bne $030029fa
- 030029e4 7960 ldrb r0, [r4, #5]
- 030029e6 4345 mul r5, r0
- 030029e8 0a2d lsr r5, r5, #8
- 030029ea 79a0 ldrb r0, [r4, #6]
- 030029ec 4285 cmp r5, r0
- 030029ee d80d bhi $03002a0c
- 030029f0 1c05 mov r5, r0 (add r5, r0, #0)
- 030029f2 d0ec beq $030029ce
- 030029f4 3e01 sub r6, #1
- 030029f6 7026 strb r6, [r4, #0]
- 030029f8 e008 b $03002a0c
- 030029fa 2a03 cmp r2, #3
- 030029fc d106 bne $03002a0c
- 030029fe 7920 ldrb r0, [r4, #4]
- 03002a00 182d add r5, r5, r0
- 03002a02 2dff cmp r5, #255
- 03002a04 d302 bcc $03002a0c
- 03002a06 25ff mov r5, #255
- 03002a08 3e01 sub r6, #1
- 03002a0a 7026 strb r6, [r4, #0]
- 03002a0c 7265 strb r5, [r4, #9]
- 03002a0e 9806 ldr r0, [sp, #24]
- 03002a10 79c0 ldrb r0, [r0, #7]
- 03002a12 3001 add r0, #1
- 03002a14 4368 mul r0, r5
- 03002a16 0905 lsr r5, r0, #4
- 03002a18 78a0 ldrb r0, [r4, #2]
- 03002a1a 78e1 ldrb r1, [r4, #3]
- 03002a1c 1840 add r0, r0, r1
- 03002a1e 4368 mul r0, r5
- 03002a20 0a40 lsr r0, r0, #9
- 03002a22 72a0 strb r0, [r4, #10]
- 03002a24 2010 mov r0, #16
- 03002a26 4030 and r0, r6
- 03002a28 9004 str r0, [sp, #16]
- 03002a2a d007 beq $03002a3c
- 03002a2c 1c18 mov r0, r3 (add r0, r3, #0)
- 03002a2e 3010 add r0, #16
- 03002a30 6899 ldr r1, [r3, #8]
- 03002a32 1840 add r0, r0, r1
- 03002a34 9003 str r0, [sp, #12]
- 03002a36 68d8 ldr r0, [r3, #12]
- 03002a38 1a40 sub r0, r0, r1
- 03002a3a 9004 str r0, [sp, #16]
- 03002a3c 9d02 ldr r5, [sp, #8]
- 03002a3e 69a2 ldr r2, [r4, #24]
- 03002a40 6aa3 ldr r3, [r4, #40]
- 03002a42 a001 add r0, pc, #4 (adr r0,$03002a48)
- 03002a44 4700 bx r0
- ; ARM
- 03002a48 e58d8000 str r8, [sp]
- 03002a4c e5d4a00a ldrb sl, [r4, #10]
- 03002a50 e1a0a80a mov sl, sl, lsl #16
- 03002a54 e5d40001 ldrb r0, [r4, #1]
- 03002a58 e3100008 tst r0, #8
- 03002a5c 0a00003b beq $03002b50
- 03002a60 e3520004 cmp r2, #4
- 03002a64 da000014 ble $03002abc
- 03002a68 e0522008 subs r2, r2, r8
- 03002a6c c3a0e000 movgt lr, #0
- 03002a70 ca000005 bgt $03002a8c
- 03002a74 e1a0e008 mov lr, r8
- 03002a78 e0822008 add r2, r2, r8
- 03002a7c e2428004 sub r8, r2, #4
- 03002a80 e04ee008 sub lr, lr, r8
- 03002a84 e2122003 ands r2, r2, #3
- 03002a88 03a02004 moveq r2, #4
- 03002a8c e5956000 ldr r6, [r5]
- 03002a90 e0d300d1 ldrsb r0, [r3], #1
- 03002a94 e001009a mul r1, sl, r0
- 03002a98 e3c118ff bic r1, r1, #16711680
- 03002a9c e0816466 add r6, r1, r6, ror #8
- 03002aa0 e2955101 adds r5, r5, #1073741824
- 03002aa4 3afffff9 bcc $03002a90
- 03002aa8 e4856004 str r6, [r5], #4
- 03002aac e2588004 subs r8, r8, #4
- 03002ab0 cafffff5 bgt $03002a8c
- 03002ab4 e098800e adds r8, r8, lr
- 03002ab8 0a000044 beq $03002bd0
- 03002abc e5956000 ldr r6, [r5]
- 03002ac0 e0d300d1 ldrsb r0, [r3], #1
- 03002ac4 e001009a mul r1, sl, r0
- 03002ac8 e3c118ff bic r1, r1, #16711680
- 03002acc e0816466 add r6, r1, r6, ror #8
- 03002ad0 e2522001 subs r2, r2, #1
- 03002ad4 0a000011 beq $03002b20
- 03002ad8 e2955101 adds r5, r5, #1073741824
- 03002adc 3afffff7 bcc $03002ac0
- 03002ae0 e4856004 str r6, [r5], #4
- 03002ae4 e2588004 subs r8, r8, #4
- 03002ae8 caffffdc bgt $03002a60
- 03002aec ea000037 b $03002bd0
- 03002af0 e59d0018 ldr r0, [sp, #24]
- 03002af4 e3500000 cmp r0, #0
- 03002af8 0a000005 beq $03002b14
- 03002afc e59d3014 ldr r3, [sp, #20]
- 03002b00 e2629000 rsb r9, r2, #0
- 03002b04 e0902002 adds r2, r0, r2
- 03002b08 ca000025 bgt $03002ba4
- 03002b0c e0499000 sub r9, r9, r0
- 03002b10 eafffffb b $03002b04
- 03002b14 e8bd1010 ldmia sp!, {r4, ip}
- 03002b18 e3a02000 mov r2, #0
- 03002b1c ea000003 b $03002b30
- 03002b20 e59d2010 ldr r2, [sp, #16]
- 03002b24 e3520000 cmp r2, #0
- 03002b28 159d300c ldrne r3, [sp, #12]
- 03002b2c 1affffe9 bne $03002ad8
- 03002b30 e5c42000 strb r2, [r4]
- 03002b34 e1a00f25 mov r0, r5, lsr #30
- 03002b38 e3c55103 bic r5, r5, #-1073741824
- 03002b3c e2600003 rsb r0, r0, #3
- 03002b40 e1a00180 mov r0, r0, lsl #3
- 03002b44 e1a06076 mov r6, r6, ror r0
- 03002b48 e4856004 str r6, [r5], #4
- 03002b4c ea000021 b $03002bd8
- 03002b50 e92d1010 stmdb sp!, {r4, ip}
- 03002b54 e594e01c ldr lr, [r4, #28]
- 03002b58 e5941020 ldr r1, [r4, #32]
- 03002b5c e004019c mul r4, ip, r1
- 03002b60 e1d300d0 ldrsb r0, [r3]
- 03002b64 e1f310d1 ldrsb r1, [r3, #1]!
- 03002b68 e0411000 sub r1, r1, r0
- 03002b6c e5956000 ldr r6, [r5]
- 03002b70 e009019e mul r9, lr, r1
- 03002b74 e0809bc9 add r9, r0, r9, asr #23
- 03002b78 e00c099a mul ip, sl, r9
- 03002b7c e3ccc8ff bic ip, ip, #16711680
- 03002b80 e08c6466 add r6, ip, r6, ror #8
- 03002b84 e08ee004 add lr, lr, r4
- 03002b88 e1b09bae movs r9, lr, lsr #23
- 03002b8c 0a000007 beq $03002bb0
- 03002b90 e3cee5fe bic lr, lr, #1065353216
- 03002b94 e0522009 subs r2, r2, r9
- 03002b98 daffffd4 ble $03002af0
- 03002b9c e2599001 subs r9, r9, #1
- 03002ba0 00800001 addeq r0, r0, r1
- 03002ba4 11b300d9 ldrnesb r0, [r3, r9]!
- 03002ba8 e1f310d1 ldrsb r1, [r3, #1]!
- 03002bac e0411000 sub r1, r1, r0
- 03002bb0 e2955101 adds r5, r5, #1073741824
- 03002bb4 3affffed bcc $03002b70
- 03002bb8 e4856004 str r6, [r5], #4
- 03002bbc e2588004 subs r8, r8, #4
- 03002bc0 caffffe9 bgt $03002b6c
- 03002bc4 e2433001 sub r3, r3, #1
- 03002bc8 e8bd1010 ldmia sp!, {r4, ip}
- 03002bcc e584e01c str lr, [r4, #28]
- 03002bd0 e5842018 str r2, [r4, #24]
- 03002bd4 e5843028 str r3, [r4, #40]
- 03002bd8 e59d8000 ldr r8, [sp]
- 03002bdc e28f0001 add r0, pc, #1 (adr r0,$03002be4)
- 03002be0 e12fff10 bx r0
- ; THUMB
- 03002be4 9801 ldr r0, [sp, #4]
- 03002be6 3801 sub r0, #1
- 03002be8 dd01 ble $03002bee
- 03002bea 3440 add r4, #64
- 03002bec e6ae b $0300294c
- 03002bee 9806 ldr r0, [sp, #24]
- 03002bf0 4b04 ldr r3, [pc, #16] ($03002c04)
- 03002bf2 6003 str r3, [r0, #0]
- 03002bf4 b007 add sp, #28
- 03002bf6 bcff pop {r0, r1, r2, r3, r4, r5, r6, r7}
- 03002bf8 4680 mov r8, r0
- 03002bfa 4689 mov r9, r1
- 03002bfc 4692 mov sl, r2
- 03002bfe 469b mov fp, r3
- 03002c00 bc08 pop {r3}
- 03002c02 4718 bx r3
- 03002c04 6d53 ldr r3, [r2, #84]
- 03002c06 6873 ldr r3, [r6, #4]
- 03002c08 46a4 mov ip, r4
- 03002c0a 2100 mov r1, #0
- 03002c0c 2200 mov r2, #0
- 03002c0e 2300 mov r3, #0
- 03002c10 2400 mov r4, #0
- 03002c12 c01e stmia r0!,{r1, r2, r3, r4}
- 03002c14 c01e stmia r0!,{r1, r2, r3, r4}
- 03002c16 c01e stmia r0!,{r1, r2, r3, r4}
- 03002c18 c01e stmia r0!,{r1, r2, r3, r4}
- 03002c1a 4664 mov r4, ip
- 03002c1c 4770 bx lr
- 03002c1e 0000 lsl r0, r0, #0
- 03002c20 6ac3 ldr r3, [r0, #44]
- 03002c22 2b00 cmp r3, #0
- 03002c24 d00b beq $03002c3e
- 03002c26 6b41 ldr r1, [r0, #52]
- 03002c28 6b02 ldr r2, [r0, #48]
- 03002c2a 2a00 cmp r2, #0
- 03002c2c d001 beq $03002c32
- 03002c2e 6351 str r1, [r2, #52]
- 03002c30 e000 b $03002c34
- 03002c32 6219 str r1, [r3, #32]
- 03002c34 2900 cmp r1, #0
- 03002c36 d000 beq $03002c3a
- 03002c38 630a str r2, [r1, #48]
- 03002c3a 2100 mov r1, #0
- 03002c3c 62c1 str r1, [r0, #44]
- 03002c3e 4770 bx lr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement