[Scummvm-cvs-logs] SF.net SVN: scummvm: [29732] scummvm/trunk/backends/platform/ds/arm9/source /blitters_arm.s
robinwatts at users.sourceforge.net
robinwatts at users.sourceforge.net
Thu Dec 6 01:50:23 CET 2007
Revision: 29732
http://scummvm.svn.sourceforge.net/scummvm/?rev=29732&view=rev
Author: robinwatts
Date: 2007-12-05 16:50:22 -0800 (Wed, 05 Dec 2007)
Log Message:
-----------
Attempted fix for the DS blitters; looks like I was reading from dst and
storing to src. D'Oh. Still untested, but this code is broken anyway
(apparently) and is disabled, so I can't really make it any worse...
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-05 23:53:45 UTC (rev 29731)
+++ scummvm/trunk/backends/platform/ds/arm9/source/blitters_arm.s 2007-12-06 00:50:22 UTC (rev 29732)
@@ -21,7 +21,7 @@
@ @author Robin Watts (robin at wss.co.uk)
.text
-
+
.global asmDrawStripToScreen
.global asmCopy8Col
.global Rescale_320x256xPAL8_To_256x256x1555
@@ -142,7 +142,7 @@
@ r3 = height
STMFD r13!,{r14}
SUB r1,r1,#4
-
+
TST r3,#1
ADDNE r3,r3,#1
BNE roll2
@@ -177,22 +177,22 @@
@ r2 = dstStride
@ r3 = srcStride
STMFD r13!,{r4-r5,r8-r11,r14}
-
- SUB r2,r2,#64*5 @ srcStride -= line length
- SUB r3,r3,#64*4 @ dstStride -= line length
+ SUB r2,r2,#64*4 @ srcStride -= line length
+ SUB r3,r3,#64*5 @ dstStride -= line length
+
MOV r8, #0x0000001F
ORR r8, r8,#0x00007C00
ORR r8, r8,#0x03E00000 @ r8 = mask
MOV r5, #200 @ r5 = y
yLoop3:
MOV r4, #64 @ r4 = x
-xLoop3:
- LDRH r9, [r0],#2 @ r9 = src0
- LDRH r10,[r0],#2 @ r10= src1
- LDRH r11,[r0],#2 @ r11= src2
- LDRH r12,[r0],#2 @ r12= src3
- LDRH r14,[r0],#2 @ r14= src4
+xLoop3:
+ LDRH r9, [r1],#2 @ r9 = src0
+ LDRH r10,[r1],#2 @ r10= src1
+ LDRH r11,[r1],#2 @ r11= src2
+ LDRH r12,[r1],#2 @ r12= src3
+ LDRH r14,[r1],#2 @ r14= src4
ORR r9, r9, r9, LSL #16 @ r9 = src0 | src0
ORR r10,r10,r10,LSL #16 @ r10= src1 | src1
@@ -212,7 +212,7 @@
ADD r11,r11,r12 @ r11= dst2
ADD r12,r12,r14 @ r12= src3 + src4
ADD r12,r12,r14,LSL #1 @ r12= src3 + src4*3 = dst3<<2
-
+
AND r9, r8, r9, LSR #2 @ r9 = dst0 (split)
AND r10,r8, r10,LSR #1 @ r10= dst1 (split)
AND r11,r8, r11,LSR #1 @ r11= dst2 (split)
@@ -227,15 +227,15 @@
ORR r10,r10,#0x8000
ORR r11,r11,#0x8000
ORR r12,r12,#0x8000
-
- STRH r9, [r1],#2
- STRH r10,[r1],#2
- STRH r11,[r1],#2
- STRH r12,[r1],#2
+ STRH r9, [r0],#2
+ STRH r10,[r0],#2
+ STRH r11,[r0],#2
+ STRH r12,[r0],#2
+
SUBS r4,r4,#1
BGT xLoop3
-
+
ADD r0,r0,r2,LSL #1
ADD r1,r2,r3,LSL #1
SUBS r5,r5,#1
@@ -264,7 +264,7 @@
ORR r8, r8,#0x00007C00
ORR r8, r8,#0x03E00000 @ r8 = mask
LDR r9, [r13,#7*4] @ r9 = palette
-
+
SUB r13,r13,#256*4 @ r13 = 1K of space on the stack.
MOV r5, r13 @ r5 points to this space
MOV r14,#256
@@ -275,19 +275,19 @@
AND r10,r10,r8 @ r10 = separated palette entry
STR r10,[r5], #4
BGT palLoop
-
- SUB r2,r2,#64*5 @ srcStride -= line length
- SUB r3,r3,#64*4 @ dstStride -= line length
+ SUB r2,r2,#64*4 @ srcStride -= line length
+ SUB r3,r3,#64*5 @ dstStride -= line length
+
MOV r5,#200 @ r5 = y
yLoop4:
MOV r4,#64 @ r4 = x
-xLoop4:
- LDRB r9, [r0],#1 @ r9 = src0
- LDRB r10,[r0],#1 @ r10= src1
- LDRB r11,[r0],#1 @ r11= src2
- LDRB r12,[r0],#1 @ r12= src3
- LDRB r14,[r0],#1 @ r14= src4
+xLoop4:
+ LDRB r9, [r1],#1 @ r9 = src0
+ LDRB r10,[r1],#1 @ r10= src1
+ LDRB r11,[r1],#1 @ r11= src2
+ LDRB r12,[r1],#1 @ r12= src3
+ LDRB r14,[r1],#1 @ r14= src4
LDR r9, [r13,r9, LSL #2] @ r9 = pal[src0]
LDR r10,[r13,r10,LSL #2] @ r10= pal[src1]
@@ -301,7 +301,7 @@
ADD r11,r11,r12 @ r11= dst2
ADD r12,r12,r14 @ r12= src3 + src4
ADD r12,r12,r14,LSL #1 @ r12= src3 + src4*3 = dst3<<2
-
+
AND r9, r8, r9, LSR #2 @ r9 = dst0 (split)
AND r10,r8, r10,LSR #1 @ r10= dst1 (split)
AND r11,r8, r11,LSR #1 @ r11= dst2 (split)
@@ -316,17 +316,17 @@
ORR r10,r10,#0x8000
ORR r11,r11,#0x8000
ORR r12,r12,#0x8000
-
- STRH r9, [r1],#2
- STRH r10,[r1],#2
- STRH r11,[r1],#2
- STRH r12,[r1],#2
+ STRH r9, [r0],#2
+ STRH r10,[r0],#2
+ STRH r11,[r0],#2
+ STRH r12,[r0],#2
+
SUBS r4,r4,#1
BGT xLoop4
-
- ADD r0,r0,r2
- ADD r1,r2,r3,LSL #1
+
+ ADD r0,r0,r2,LSL #1
+ ADD r1,r2,r3
SUBS r5,r5,#1
BGT yLoop4
@@ -334,4 +334,4 @@
LDMFD r13!,{r4-r5,r8-r11,PC}
-
+
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