[Scummvm-cvs-logs] SF.net SVN: scummvm:[39693] scummvm/trunk

joostp at users.sourceforge.net joostp at users.sourceforge.net
Wed Mar 25 22:58:16 CET 2009


Revision: 39693
          http://scummvm.svn.sourceforge.net/scummvm/?rev=39693&view=rev
Author:   joostp
Date:     2009-03-25 21:58:16 +0000 (Wed, 25 Mar 2009)

Log Message:
-----------
Allow building of psp backend via configure (Part 1 - Still need to add the fixup + EBOOT packing steps).
Thanks dhewg and fingolfin for assistance. :)

Modified Paths:
--------------
    scummvm/trunk/backends/fs/psp/psp-fs.cpp
    scummvm/trunk/backends/platform/psp/osys_psp.cpp
    scummvm/trunk/backends/platform/psp/osys_psp.h
    scummvm/trunk/backends/platform/psp/osys_psp_gu.cpp
    scummvm/trunk/backends/saves/psp/psp-saves.cpp
    scummvm/trunk/common/scummsys.h
    scummvm/trunk/configure

Added Paths:
-----------
    scummvm/trunk/backends/platform/psp/module.mk
    scummvm/trunk/backends/platform/psp/psp.spec

Modified: scummvm/trunk/backends/fs/psp/psp-fs.cpp
===================================================================
--- scummvm/trunk/backends/fs/psp/psp-fs.cpp	2009-03-25 20:07:44 UTC (rev 39692)
+++ scummvm/trunk/backends/fs/psp/psp-fs.cpp	2009-03-25 21:58:16 UTC (rev 39693)
@@ -31,6 +31,8 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+#include <pspkernel.h>
+
 #define	ROOT_PATH	"ms0:/"
 
 /**

Added: scummvm/trunk/backends/platform/psp/module.mk
===================================================================
--- scummvm/trunk/backends/platform/psp/module.mk	                        (rev 0)
+++ scummvm/trunk/backends/platform/psp/module.mk	2009-03-25 21:58:16 UTC (rev 39693)
@@ -0,0 +1,17 @@
+MODULE := backends/platform/psp
+
+MODULE_OBJS := \
+	psp_main.o \
+	osys_psp.o \
+	osys_psp_gu.o \
+	kbd_ss_c.o \
+	kbd_s_c.o \
+	kbd_ls_c.o \
+	kbd_l_c.o \
+	trace.o
+
+MODULE_DIRS += \
+	backends/platform/psp/
+
+# We don't use the rules.mk here on purpose
+OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS)) $(OBJS)


Property changes on: scummvm/trunk/backends/platform/psp/module.mk
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Modified: scummvm/trunk/backends/platform/psp/osys_psp.cpp
===================================================================
--- scummvm/trunk/backends/platform/psp/osys_psp.cpp	2009-03-25 20:07:44 UTC (rev 39692)
+++ scummvm/trunk/backends/platform/psp/osys_psp.cpp	2009-03-25 21:58:16 UTC (rev 39693)
@@ -37,7 +37,10 @@
 #include "sound/mixer_intern.h"
 
 #include <pspgu.h>
+#include <pspdisplay.h>
 
+#include <time.h>
+
 #include "./trace.h"
 
 #define	SAMPLES_PER_SEC	44100

Modified: scummvm/trunk/backends/platform/psp/osys_psp.h
===================================================================
--- scummvm/trunk/backends/platform/psp/osys_psp.h	2009-03-25 20:07:44 UTC (rev 39692)
+++ scummvm/trunk/backends/platform/psp/osys_psp.h	2009-03-25 21:58:16 UTC (rev 39693)
@@ -30,9 +30,10 @@
 #include "backends/base-backend.h"
 #include "backends/fs/psp/psp-fs-factory.h"
 
-
 #include <SDL.h>
 
+#include <pspctrl.h>
+
 enum GraphicModeID {
 	CENTERED_320X200,
 	CENTERED_435X272,

Modified: scummvm/trunk/backends/platform/psp/osys_psp_gu.cpp
===================================================================
--- scummvm/trunk/backends/platform/psp/osys_psp_gu.cpp	2009-03-25 20:07:44 UTC (rev 39692)
+++ scummvm/trunk/backends/platform/psp/osys_psp_gu.cpp	2009-03-25 21:58:16 UTC (rev 39693)
@@ -22,11 +22,14 @@
  * $Id$
  */
 
-#include <zlib.h>
 #include "osys_psp_gu.h"
-#include "./trace.h"
+#include "trace.h"
 #include "common/events.h"
 
+#include <zlib.h>
+
+#include <pspdisplay.h>
+
 #define PIXEL_SIZE (4)
 #define BUF_WIDTH (512)
 #define	PSP_SCREEN_WIDTH	480

Added: scummvm/trunk/backends/platform/psp/psp.spec
===================================================================
--- scummvm/trunk/backends/platform/psp/psp.spec	                        (rev 0)
+++ scummvm/trunk/backends/platform/psp/psp.spec	2009-03-25 21:58:16 UTC (rev 39693)
@@ -0,0 +1,3 @@
+%rename lib	old_lib
+*lib:
+-lg -lm -lstdc++ -lsupc++ -lg -lpsprtc -lpspaudio -lpspuser -lpsputility -lpspdebug -lc -lpspgum -lpspvfpu -lpspgu -lpspctrl -lpspge -lpspdisplay_driver -lpspdisplay -lpsphprm -lpspge_driver -lpspsdk -lpsppower -lpsppower_driver -lpspgum_vfpu -lpspkernel %(old_lib)


Property changes on: scummvm/trunk/backends/platform/psp/psp.spec
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Modified: scummvm/trunk/backends/saves/psp/psp-saves.cpp
===================================================================
--- scummvm/trunk/backends/saves/psp/psp-saves.cpp	2009-03-25 20:07:44 UTC (rev 39692)
+++ scummvm/trunk/backends/saves/psp/psp-saves.cpp	2009-03-25 21:58:16 UTC (rev 39693)
@@ -30,6 +30,7 @@
 #include "common/config-manager.h"
 #include "common/savefile.h"
 
+#include <pspkernel.h>
 
 #define PSP_DEFAULT_SAVE_PATH "ms0:/scummvm_savegames"
 

Modified: scummvm/trunk/common/scummsys.h
===================================================================
--- scummvm/trunk/common/scummsys.h	2009-03-25 20:07:44 UTC (rev 39692)
+++ scummvm/trunk/common/scummsys.h	2009-03-25 21:58:16 UTC (rev 39693)
@@ -332,6 +332,8 @@
 
 #elif defined(__PSP__)
 
+	#include <malloc.h>
+
 	#define scumm_stricmp strcasecmp
 	#define scumm_strnicmp strncasecmp
 

Modified: scummvm/trunk/configure
===================================================================
--- scummvm/trunk/configure	2009-03-25 20:07:44 UTC (rev 39692)
+++ scummvm/trunk/configure	2009-03-25 21:58:16 UTC (rev 39693)
@@ -273,7 +273,7 @@
 	gp2x-linux)
 		_exeext=".gp2x"
 		;;
-	dreamcast | wii | gamecube)
+	dreamcast | wii | gamecube | psp)
 		_exeext=".elf"
 		;;
 	*)
@@ -547,7 +547,7 @@
 
 Configuration:
   -h, --help             display this help and exit
-  --backend=BACKEND      backend to build (sdl, morphos, dc, gp2x, iphone, wii, null) [sdl]
+  --backend=BACKEND      backend to build (sdl, morphos, dc, gp2x, iphone, wii, psp, null) [sdl]
 
 Installation directories:
   --prefix=DIR           use this prefix for installing ScummVM [/usr/local]
@@ -563,6 +563,7 @@
                                           wii for Nintendo Wii
                                           gamecube for Nintendo Gamecube
                                           iphone for Apple iPhone
+                                          psp for PlayStation Portable 
 
 Optional Features:
   --disable-debug          disable building with debugging symbols
@@ -809,6 +810,12 @@
 	_host_cpu=ppc
 	_host_alias=powerpc-gekko
 	;;
+psp)
+	_host_os=psp
+	_host_cpu=mipsallegrexel
+	_host_alias=psp
+	LDFLAGS="$LDFLAGS -L$PSPDEV/psp/sdk/lib -specs=$_srcdir/backends/platform/psp/psp.spec"
+	;;
 gamecube)
 	_host_os=gamecube
 	_host_cpu=ppc
@@ -856,6 +863,12 @@
 		exit 1
 	fi
 	;;
+psp)
+	if test -z "$PSPDEV"; then
+		echo "Please set PSPDEV in your environment. export PSPDEV=<path to psp toolchain>"
+		exit 1
+	fi
+	;;
 *)
 	;;
 esac
@@ -1120,6 +1133,9 @@
 		CXXFLAGS="$CXXFLAGS -I$DEVKITPRO/libogc/include"
 		LDFLAGS="$LDFLAGS -mogc -mcpu=750 -L$DEVKITPRO/libogc/lib/cube"
 		;;
+	psp)
+		CXXFLAGS="$CXXFLAGS -O2 -G0 -I$PSPDEV/psp/sdk/include -D_PSP_FW_VERSION=150"
+		;;
 	# given this is a shell script assume some type of unix
 	*)
 		echo "WARNING: could not establish system type, assuming unix like"
@@ -1286,6 +1302,20 @@
 			add_line_to_config_h "/* #define DEBUG_WII_MEMSTATS */"
 			add_line_to_config_h "/* #define DEBUG_WII_GDB */"
 			;;
+		psp)
+			echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
+			_endian=little
+			_need_memalign=yes
+			type_1_byte='char'
+			type_2_byte='short'
+			type_4_byte='int'
+			_ar="$_host_alias-ar cru"
+			_ranlib=$_host_alias-ranlib
+			_backend="psp"
+			_build_scalers="no"
+			_build_hq_scalers="no"
+			_mt32emu="no"
+			;;
 		*)
 			echo "Continuing with auto-detected values ... if you have problems, please add your target to configure."
 			;;
@@ -1840,6 +1870,11 @@
 			;;
 		esac
 		;;
+	psp)
+		DEFINES="$DEFINES -D__PSP__ -DDISABLE_TEXT_CONSOLE -DDISABLE_COMMAND_LINE"
+		INCLUDES="$INCLUDES -I$PSPDEV/psp/include/SDL"
+		LIBS="$LIBS -lSDL"
+		;;
 	*)
 		echo "support for $_backend backend not implemented in configure script yet"
 		exit 1
@@ -1854,7 +1889,7 @@
 	case $_host_os in
 	# newlib-based system include files suppress non-C89 function 
 	# declarations under __STRICT_ANSI__
-	mingw* | cygwin* | dreamcast | wii | gamecube)
+	mingw* | cygwin* | dreamcast | wii | gamecube | psp)
 		CXXFLAGS="$CXXFLAGS -W -Wno-unused-parameter"
 		;;
 	*)
@@ -1872,7 +1907,7 @@
 
 # Some platforms use certain GNU extensions in header files
 case $_host_os in
-wii | gamecube)
+wii | gamecube | psp)
 	;;
 *)
 	CXXFLAGS="$CXXFLAGS -pedantic"


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