X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pandora%2Fasm_utils.s;fp=pandora%2Fasm_utils.s;h=0000000000000000000000000000000000000000;hb=f506842df2b0e251b56ffe0a828bb2029d423eec;hp=74dd3fdcca0bbe59afe43c1ad36b56519d924bf6;hpb=ca69c3e5a0ecf407c02dc85c6f3282ebb1efc5a2;p=libpicofe.git diff --git a/pandora/asm_utils.s b/pandora/asm_utils.s deleted file mode 100644 index 74dd3fd..0000000 --- a/pandora/asm_utils.s +++ /dev/null @@ -1,108 +0,0 @@ -@ vim:filetype=armasm - - -@ FIXME: handle dual issue -.global clut_line2x2 @ void *dest, void *src, unsigned short *pal, int pixels_mask - -clut_line2x2: - stmfd sp!, {r4-r11,lr} - - and lr, r3, #0xff0000 - mov lr, lr, lsr #15 @ mask - mov r3, r3, lsr #3 - and r3, r3, #0xff @ counter - add r11,r0, #800*2 - -clut_line_2x2_loop: - ldmia r1!, {r10,r12} - - and r4, lr, r10, lsl #1 - ldrh r4, [r2, r4] - and r5, lr, r10, lsr #7 - ldrh r5, [r2, r5] - orr r4, r4, r4, lsl #16 - - and r6, lr, r10, lsr #15 - ldrh r6, [r2, r6] - orr r5, r5, r5, lsl #16 - - and r7, lr, r10, lsr #23 - ldrh r7, [r2, r7] - orr r6, r6, r6, lsl #16 - - and r8, lr, r12, lsl #1 - ldrh r8, [r2, r8] - orr r7, r7, r7, lsl #16 - - and r9, lr, r12, lsr #7 - ldrh r9, [r2, r9] - orr r8, r8, r8, lsl #16 - - and r10,lr, r12, lsr #15 - ldrh r10,[r2, r10] - orr r9, r9, r9, lsl #16 - - and r12,lr, r12, lsr #23 - ldrh r12,[r2, r12] - orr r10,r10,r10, lsl #16 - - subs r3, r3, #1 - orr r12,r12,r12, lsl #16 - - stmia r0!, {r4-r10,r12} - stmia r11!,{r4-r10,r12} - bne clut_line_2x2_loop - - ldmfd sp!, {r4-r11,pc} - - -@ 00 01 11 22 23 33 -@ r4 r5 r6 r7 r8 r9 - -.macro do_4_to_12 rs - and r4, lr, \rs, lsl #1 - and r6, lr, \rs, lsr #7 - and r7, lr, \rs, lsr #15 - and r9, lr, \rs, lsr #23 - ldrh r4, [r2, r4] - ldrh r6, [r2, r6] - ldrh r7, [r2, r7] - ldrh r9, [r2, r9] - - orr r5, r4, r6, lsl #16 - orr r4, r4, r4, lsl #16 - orr r6, r6, r6, lsl #16 - - orr r8, r7, r9, lsl #16 - orr r7, r7, r7, lsl #16 - orr r9, r9, r9, lsl #16 -.endm - - -.global clut_line3x2 @ void *dest, void *src, unsigned short *pal, int pixels_mask - -clut_line3x2: - stmfd sp!, {r4-r11,lr} - - and lr, r3, #0xff0000 - mov lr, lr, lsr #15 @ mask - mov r3, r3, lsr #3 - and r3, r3, #0xff @ counter - add r11,r0, #800*2 - -clut_line3x2_loop: - ldmia r1!, {r10,r12} - - do_4_to_12 r10 - stmia r0!, {r4-r9} - stmia r11!,{r4-r9} - - do_4_to_12 r12 - subs r3, r3, #1 - stmia r0!, {r4-r9} - stmia r11!,{r4-r9} - - bne clut_line3x2_loop - - ldmfd sp!, {r4-r11,pc} -