[Scummvm-cvs-logs] SF.net SVN: scummvm: [30765] scummvm/branches/branch-0-11-0

Anotherguest at users.sourceforge.net Anotherguest at users.sourceforge.net
Sun Feb 3 14:09:12 CET 2008


Revision: 30765
          http://scummvm.svn.sourceforge.net/scummvm/?rev=30765&view=rev
Author:   Anotherguest
Date:     2008-02-03 05:09:09 -0800 (Sun, 03 Feb 2008)

Log Message:
-----------
Updated parts to use ASM opts. 

Modified Paths:
--------------
    scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_Loc.rss
    scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
    scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
    scummvm/branches/branch-0-11-0/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
    scummvm/branches/branch-0-11-0/backends/platform/symbian/res/scummvm.svg
    scummvm/branches/branch-0-11-0/backends/platform/symbian/src/portdefs.h
    scummvm/branches/branch-0-11-0/engines/scumm/gfx.cpp
    scummvm/branches/branch-0-11-0/engines/scumm/gfxARM.s

Modified: scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_Loc.rss
===================================================================
--- scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_Loc.rss	2008-02-03 13:06:43 UTC (rev 30764)
+++ scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_Loc.rss	2008-02-03 13:09:09 UTC (rev 30765)
@@ -13,9 +13,9 @@
 			// application launcher and application title bar.
 			// The number_of_icons value identifies how many icons 
 			// that exist in the icon_file.
-			number_of_icons = 3;
+			number_of_icons = 1;
 			// Using the application icons.
-			icon_file = "\\Resource\\Apps\\ScummVM.mbm";
+			icon_file = "\\Resource\\Apps\\ScummVM.mif";
 			}
 		};
 	}

Modified: scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
===================================================================
--- scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in	2008-02-03 13:06:43 UTC (rev 30764)
+++ scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in	2008-02-03 13:09:09 UTC (rev 30765)
@@ -82,7 +82,10 @@
 STATICLIBRARY esdl.lib
 
 #if !defined(WINS)
-staticlibrary rate_arm_asm.o codec47ARM.o gfxARM.o
+staticlibrary rate_arm_asm.o 
+//staticlibrary proc3arm.o
+staticlibrary codec47ARM.o 
+staticlibrary gfxARM.o 
 #endif
 
 // *** Include paths

Modified: scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg
===================================================================
--- scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg	2008-02-03 13:06:43 UTC (rev 30764)
+++ scummvm/branches/branch-0-11-0/backends/platform/symbian/S60v3/scummvm-CVS-SymbianS60v3.pkg	2008-02-03 13:09:09 UTC (rev 30765)
@@ -59,10 +59,10 @@
 "..\..\..\..\NEWS"-"!:\resource\apps\scummvm\NEWS"
 
 ; Common datafiles needed for some games
-"..\..\..\..\dists\engine-data\kyra.dat"-"c:\shared\scummvm\kyra.dat"
-"..\..\..\..\dists\engine-data\sky.cpt"-"c:\shared\scummvm\sky.cpt"
-"..\..\..\..\dists\engine-data\igor.tbl"-"c:\shared\scummvm\igor.tbl"
-"..\..\..\..\dists\engine-data\lure.dat"-"c:\shared\scummvm\lure.dat"
+"..\..\..\..\dists\engine-data\kyra.dat"-"c:\data\scummvm\kyra.dat"
+"..\..\..\..\dists\engine-data\sky.cpt"-"c:\data\scummvm\sky.cpt"
+"..\..\..\..\dists\engine-data\igor.tbl"-"c:\data\scummvm\igor.tbl"
+"..\..\..\..\dists\engine-data\lure.dat"-"c:\data\scummvm\lure.dat"
 
 ; Config/log files: 'empty' will automagically be removed on uninstall
 ""-"c:\data\scummvm\scummvm.ini",FILENULL

Modified: scummvm/branches/branch-0-11-0/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
===================================================================
--- scummvm/branches/branch-0-11-0/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in	2008-02-03 13:06:43 UTC (rev 30764)
+++ scummvm/branches/branch-0-11-0/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in	2008-02-03 13:09:09 UTC (rev 30765)
@@ -83,7 +83,10 @@
 STATICLIBRARY esdl.lib
 
 #if !defined(WINS)
-staticlibrary rate_arm_asm.o codec47ARM.o gfxARM.o
+staticlibrary rate_arm_asm.o 
+//staticlibrary proc3arm.o
+staticlibrary codec47ARM.o 
+staticlibrary gfxARM.o 
 #endif
 
 // *** Include paths

Modified: scummvm/branches/branch-0-11-0/backends/platform/symbian/res/scummvm.svg
===================================================================
(Binary files differ)

Modified: scummvm/branches/branch-0-11-0/backends/platform/symbian/src/portdefs.h
===================================================================
--- scummvm/branches/branch-0-11-0/backends/platform/symbian/src/portdefs.h	2008-02-03 13:06:43 UTC (rev 30764)
+++ scummvm/branches/branch-0-11-0/backends/platform/symbian/src/portdefs.h	2008-02-03 13:09:09 UTC (rev 30765)
@@ -132,6 +132,13 @@
 	#define vsnprintf(buf,len,format,valist)	vsprintf(buf,format,valist)
 #endif
 
+#ifndef __WINS__
+#define USE_ARM_GFX_ASM
+#define ARM_USE_GFX_ASM
+#define USE_ARM_SMUSH_ASM
+//#define USE_ARM_COSTUME_ASM
+#define USE_ARM_SOUND_ASM
+#endif
 // somehow nobody has this function...
 #define hypot(a, b)					sqrt((a)*(a) + (b)*(b))
 

Modified: scummvm/branches/branch-0-11-0/engines/scumm/gfx.cpp
===================================================================
--- scummvm/branches/branch-0-11-0/engines/scumm/gfx.cpp	2008-02-03 13:06:43 UTC (rev 30764)
+++ scummvm/branches/branch-0-11-0/engines/scumm/gfx.cpp	2008-02-03 13:09:09 UTC (rev 30765)
@@ -37,17 +37,18 @@
 #include "scumm/util.h"
 
 #ifdef USE_ARM_GFX_ASM
-extern "C" void DrawStripToScreenARM(int height, int width, byte const* text, byte const* src, byte* dst,
+extern "C" void asmDrawStripToScreen(int height, int width, byte const* text, byte const* src, byte* dst,
 	int vsPitch, int vmScreenWidth, int textSurfacePitch);
-extern "C" void Copy8ColARM(byte* dst, int dstPitch, const byte* src, int height);
+extern "C" void asmCopy8Col(byte* dst, int dstPitch, const byte* src, int height);
 #endif /* USE_ARM_GFX_ASM */
 
 namespace Scumm {
 
 static void blit(byte *dst, int dstPitch, const byte *src, int srcPitch, int w, int h);
 static void fill(byte *dst, int dstPitch, byte color, int w, int h);
-
+#ifndef ARM_USE_GFX_ASM
 static void copy8Col(byte *dst, int dstPitch, const byte *src, int height);
+#endif
 static void clear8Col(byte *dst, int dstPitch, int height);
 
 static void ditherHerc(byte *src, byte *hercbuf, int srcPitch, int *x, int *y, int *width, int *height);
@@ -625,7 +626,7 @@
 		//         but also more complicated to implement, and incurs a bigger overhead when
 		//         writing to the text surface.
 #ifdef ARM_USE_GFX_ASM
-		DrawStripToScreenARM(height, width, text, src, dst, vs->pitch, width, _textSurface.pitch);
+		asmDrawStripToScreen(height, width, text, src, dst, vs->pitch, width, _textSurface.pitch);
 #else
 		for (int h = 0; h < height * m; ++h) {
 			for (int w = 0; w < width * m; ++w) {
@@ -1079,7 +1080,7 @@
 
 #ifdef ARM_USE_GFX_ASM
 
-#define copy8Col(A,B,C,D) copy8ColARM(A,B,C,D)
+#define copy8Col(A,B,C,D) asmCopy8Col(A,B,C,D)
 
 #else
 

Modified: scummvm/branches/branch-0-11-0/engines/scumm/gfxARM.s
===================================================================
--- scummvm/branches/branch-0-11-0/engines/scumm/gfxARM.s	2008-02-03 13:06:43 UTC (rev 30764)
+++ scummvm/branches/branch-0-11-0/engines/scumm/gfxARM.s	2008-02-03 13:09:09 UTC (rev 30765)
@@ -23,6 +23,7 @@
 	.text
 
 	.global	asmDrawStripToScreen
+	.global	asmCopy8Col
 
 	@ ARM implementation of asmDrawStripToScreen.
 	@
@@ -118,3 +119,41 @@
 	BGT	yLoop
 end:
 	LDMFD	r13!,{r4-r7,r9-r11,PC}
+	
+	@ ARM implementation of asmCopy8Col
+	@
+	@ C prototype would be:
+	@
+	@ extern "C" void asmCopy8Col(byte       *dst,
+	@                             int         dstPitch,
+	@                             const byte *src,
+	@                             int         height);
+	@
+	@ In addition, we assume that src and dst are both word (4 byte)
+	@ aligned. This is the same assumption that the old 'inline' version
+	@ made.
+asmCopy8Col:
+	@ r0 = dst
+	@ r1 = dstPitch
+	@ r2 = src
+	@ r3 = height
+	STMFD	r13!,{r14}
+	SUB	r1,r1,#4
+
+	TST	r3,#1
+	ADDNE   r3,r3,#1
+	BNE	roll2
+yLoop2:
+	LDR	r12,[r2],#4
+	LDR	r14,[r2],r1
+	STR	r12,[r0],#4
+	STR	r14,[r0],r1
+roll2:
+	LDR	r12,[r2],#4
+	LDR	r14,[r2],r1
+	SUBS	r3,r3,#2
+	STR	r12,[r0],#4
+	STR	r14,[r0],r1
+	BNE	yLoop2
+
+	LDMFD	r13!,{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