[Scummvm-cvs-logs] SF.net SVN: scummvm: [29801] scummvm/trunk/backends/platform/ds/arm9/source /blitters_arm.s

Tramboi at users.sourceforge.net Tramboi at users.sourceforge.net
Sun Dec 9 19:52:57 CET 2007


Revision: 29801
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29801&view=rev
Author:   Tramboi
Date:     2007-12-09 10:52:57 -0800 (Sun, 09 Dec 2007)

Log Message:
-----------
NDS : Integrated write gathering by Robin (+ fix)

Modified Paths:
--------------
    scummvm/trunk/backends/platform/ds/arm9/source/blitters_arm.s

Modified: scummvm/trunk/backends/platform/ds/arm9/source/blitters_arm.s
===================================================================
--- scummvm/trunk/backends/platform/ds/arm9/source/blitters_arm.s	2007-12-09 18:46:49 UTC (rev 29800)
+++ scummvm/trunk/backends/platform/ds/arm9/source/blitters_arm.s	2007-12-09 18:52:57 UTC (rev 29801)
@@ -176,7 +176,7 @@
 	@ r1 = src
 	@ r2 = dstStride
 	@ r3 = srcStride
-	STMFD	r13!,{r4-r5,r8-r11,r14}
+	STMFD	r13!,{r4-r6,r8-r11,r14}
 
 	SUB	r2,r2,#64*4		@ srcStride -= line length
 	SUB	r3,r3,#64*5		@ dstStride -= line length
@@ -184,6 +184,8 @@
 	MOV	r8,    #0x0000001F
 	ORR	r8, r8,#0x00007C00
 	ORR	r8, r8,#0x03E00000	@ r8 = mask
+	MOV	r6, #0x8000
+	ORR	r6, r6, r6, LSL #16
 	MOV	r5, #200		@ r5 = y
 yLoop3:
 	MOV	r4, #64			@ r4 = x
@@ -218,21 +220,17 @@
 	AND	r11,r8, r11,LSR #1	@ r11= dst2 (split)
 	AND	r12,r8, r12,LSR #2	@ r12= dst3 (split)
 
-	ORR	r9, r9, r9, LSR #16	@ r9 = dst0
-	ORR	r10,r10,r10,LSR #16	@ r10= dst1
-	ORR	r11,r11,r11,LSR #16	@ r11= dst2
-	ORR	r12,r12,r12,LSR #16	@ r12= dst3
+	ORR	r9, r9, r9, ROR #16	@ r9 = dst0
+	ORR	r10,r10,r10,ROR #16	@ r10= dst1
+	ORR	r11,r11,r11,ROR #16	@ r11= dst2
+	ORR	r12,r12,r12,ROR #16	@ r12= dst3
 
-	ORR	r9, r9, #0x8000
-	ORR	r10,r10,#0x8000
-	ORR	r11,r11,#0x8000
-	ORR	r12,r12,#0x8000
+	ORR	r10,r6, r10,LSL #16
+	ORR	r9, r10,r9, LSR #16
+	ORR	r12,r6, r12,LSL #16
+	ORR	r11,r12,r11,LSR #16
+	STMIA	r0!,{r9,r11}
 
-	STRH	r9, [r0],#2
-	STRH	r10,[r0],#2
-	STRH	r11,[r0],#2
-	STRH	r12,[r0],#2
-
 	SUBS	r4,r4,#1
 	BGT	xLoop3
 
@@ -241,7 +239,7 @@
 	SUBS	r5,r5,#1
 	BGT	yLoop3
 
-	LDMFD	r13!,{r4-r5,r8-r11,PC}
+	LDMFD	r13!,{r4-r6,r8-r11,PC}
 
 	@ ARM implementation of Rescale_320x256xPAL8_To_256x256x1555
 	@
@@ -308,21 +306,17 @@
 	AND	r11,r8, r11,LSR #1	@ r11= dst2 (split)
 	AND	r12,r8, r12,LSR #2	@ r12= dst3 (split)
 
-	ORR	r9, r9, r9, LSR #16	@ r9 = dst0
-	ORR	r10,r10,r10,LSR #16	@ r10= dst1
-	ORR	r11,r11,r11,LSR #16	@ r11= dst2
-	ORR	r12,r12,r12,LSR #16	@ r12= dst3
+	ORR	r9, r9, r9, ROR #16	@ r9 = dst0
+	ORR	r10,r10,r10,ROR #16	@ r10= dst1
+	ORR	r11,r11,r11,ROR #16	@ r11= dst2
+	ORR	r12,r12,r12,ROR #16	@ r12= dst3
 
-	@ORR	r9, r9, #0x8000
-	@ORR	r10,r10,#0x8000
-	@ORR	r11,r11,#0x8000
-	@ORR	r12,r12,#0x8000
+	MOV	r10,r10,LSL #16
+	ORR	r9, r10,r9, LSR #16
+	MOV	r12,r12,LSL #16
+	ORR	r11,r12,r11,LSR #16
+	STMIA	r0!,{r9,r11}
 
-	STRH	r9, [r0],#2
-	STRH	r10,[r0],#2
-	STRH	r11,[r0],#2
-	STRH	r12,[r0],#2
-
 	SUBS	r4,r4,#1
 	BGT	xLoop4
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list