[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