notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sound code rewrite for lower sample rates (except mp3s)
[picodrive.git]
/
Pico
/
sound
/
mix.s
diff --git
a/Pico/sound/mix.s
b/Pico/sound/mix.s
index
ab0853e
..
d34a273
100644
(file)
--- a/
Pico/sound/mix.s
+++ b/
Pico/sound/mix.s
@@
-206,10
+206,10
@@
m16_32_s2_no_unal2:
@ limit
@ reg=int_sample, lr=1, r3=tmp, kills flags
.macro Limit reg
@ limit
@ reg=int_sample, lr=1, r3=tmp, kills flags
.macro Limit reg
- add r3, lr, \reg, asr #1
6
+ add r3, lr, \reg, asr #1
5
bics r3, r3, #1 @ in non-overflow conditions r3 is 0 or 1
movne \reg, #0x8000
bics r3, r3, #1 @ in non-overflow conditions r3 is 0 or 1
movne \reg, #0x8000
- sub
mi
\reg, \reg, #1
+ sub
pl
\reg, \reg, #1
.endm
.endm
@@
-223,11
+223,11
@@
m16_32_s2_no_unal2:
@ mov r3, #0x8000
@ subpl r3, r3, #1
@ mov r3, #0x8000
@ subpl r3, r3, #1
- add r3, lr, \reg, asr #1
6
+ add r3, lr, \reg, asr #1
5
bics r3, r3, #1 @ in non-overflow conditions r3 is 0 or 1
moveq \reg, \reg, lsl #16
movne \reg, #0x80000000
bics r3, r3, #1 @ in non-overflow conditions r3 is 0 or 1
moveq \reg, \reg, lsl #16
movne \reg, #0x80000000
- sub
mi
\reg, \reg, #0x00010000
+ sub
pl
\reg, \reg, #0x00010000
.endm
.endm
@@
-292,7
+292,7
@@
mix_32_to_16_mono:
@ check if dest is word aligned
tst r0, #2
beq m32_16_mo_no_unalw
@ check if dest is word aligned
tst r0, #2
beq m32_16_mo_no_unalw
- ldrsh r5, [r0]
, #2
+ ldrsh r5, [r0]
ldr r4, [r1], #4
sub r2, r2, #1
add r4, r4, r5
ldr r4, [r1], #4
sub r2, r2, #1
add r4, r4, r5
@@
-339,7
+339,7
@@
m32_16_mo_end:
m32_16_mo_no_unal2:
tst r2, #1
ldmeqfd sp!, {r4-r8,pc}
m32_16_mo_no_unal2:
tst r2, #1
ldmeqfd sp!, {r4-r8,pc}
- ldrsh r5, [r0]
, #2
+ ldrsh r5, [r0]
ldr r4, [r1], #4
add r4, r4, r5
Limit r4
ldr r4, [r1], #4
add r4, r4, r5
Limit r4