X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Pico%2Fsound%2Fmix.s;h=d0c1dc3f2d3325b3fb42f5d963227e41687e4355;hb=c6196c0f0108d27df27d576ece320b3ec5705bb3;hp=d34a2735dd5b6745a60aef64716dc6c6661ae347;hpb=7a93adeb29f01f5867ff36606cd73a382b6ee0e3;p=picodrive.git diff --git a/Pico/sound/mix.s b/Pico/sound/mix.s index d34a273..d0c1dc3 100644 --- a/Pico/sound/mix.s +++ b/Pico/sound/mix.s @@ -1,62 +1,7 @@ @ vim:filetype=armasm -.global memcpy32 @ int *dest, int *src, int count - -memcpy32: - stmfd sp!, {r4,lr} - - subs r2, r2, #4 - bmi mcp32_fin - -mcp32_loop: - ldmia r1!, {r3,r4,r12,lr} - subs r2, r2, #4 - stmia r0!, {r3,r4,r12,lr} - bpl mcp32_loop - -mcp32_fin: - tst r2, #3 - ldmeqfd sp!, {r4,pc} - tst r2, #1 - ldrne r3, [r1], #4 - strne r3, [r0], #4 - -mcp32_no_unal1: - tst r2, #2 - ldmneia r1!, {r3,r12} - ldmfd sp!, {r4,lr} - stmneia r0!, {r3,r12} - bx lr - - - -.global memset32 @ int *dest, int c, int count - -memset32: - stmfd sp!, {lr} - - mov r3, r1 - subs r2, r2, #4 - bmi mst32_fin - - mov r12,r1 - mov lr, r1 - -mst32_loop: - subs r2, r2, #4 - stmia r0!, {r1,r3,r12,lr} - bpl mst32_loop - -mst32_fin: - tst r2, #1 - strne r1, [r0], #4 - - tst r2, #2 - stmneia r0!, {r1,r3} - - ldmfd sp!, {lr} - bx lr - +@ Generic routines for mixing audio samples +@ (c) Copyright 2007, Grazvydas "notaz" Ignotas @ this assumes src is word aligned