scummvm/backends/platform/symbian
2007-06-11 19:30:24 +00:00
..
mmp Changed makefiles to default to armi binaries 2007-06-09 09:29:07 +00:00
res Added default signing keys for Symbian OS 9. Password is scummvm 2007-06-10 19:50:02 +00:00
S60 Include Kyra.dat and sky.cpt in the sis file. queen.tbl not included due to the size. 2007-06-11 19:30:24 +00:00
S60v3 Include Kyra.dat and sky.cpt in the sis file. queen.tbl not included due to the size. 2007-06-11 19:30:24 +00:00
S80 Include Kyra.dat and sky.cpt in the sis file. queen.tbl not included due to the size. 2007-06-11 19:30:24 +00:00
S90 Include Kyra.dat and sky.cpt in the sis file. queen.tbl not included due to the size. 2007-06-11 19:30:24 +00:00
src Include Kyra.dat and sky.cpt in the sis file. queen.tbl not included due to the size. 2007-06-11 19:30:24 +00:00
UIQ2 Include Kyra.dat and sky.cpt in the sis file. queen.tbl not included due to the size. 2007-06-11 19:30:24 +00:00
UIQ3 Include Kyra.dat and sky.cpt in the sis file. queen.tbl not included due to the size. 2007-06-11 19:30:24 +00:00
.placeholder Moving remaining platform/backends code, as previously threatened 2006-07-06 21:44:48 +00:00
AdaptAllMMPs.pl Updated makefiles for Symbian OS to handle duplicate filenames with in Symbians limited amount of makefiles. 2007-05-21 21:15:33 +00:00
BuildPackageUpload_AllVersions.pl Moving remaining platform/backends code, as previously threatened 2006-07-06 21:44:48 +00:00
BuildPackageUpload_LocalSettings.pl svn-id: r27027 2007-05-31 18:23:07 +00:00
README Updated makefile scripts with correct documents. 2007-06-10 19:43:48 +00:00

 ScummVM - ScummVM ported to EPOC/SymbianOS
 
 Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson
 Copyright (C) 2007 Lars 'AnotherGuest' Persson
 Copyright (C) 2007 Jurgen 'SumthinWicked' Braam
 Copyright (C) 2007 ScummVM Team
 
 $Id$ 
 
 
About ScummVM
--------------
	The original ports (uptil 0.7.1) were made by Andreas Karlsson and Lars Persson.
	The main transition to 0.8.0CVS and all relevant changes were done by Jurgen Braam.
	Jurgen and Lars have successfully transfered all needed changes into CVS, with additional helpful tools for Symbian OS
	
	Release version: 0.10.0
	* This version is only supported on Symbian OS 9 devices due to compiler constraints for older devices. (That means UIQ3 and S60V3 devices)
	* Updated to SDL version 1.2.11 (previous version used was 1.2.8)
	* Information about S60 devices can be found here http://wiki.scummvm.org/index.php/SymbianOS_S60
	* Information about UIQ devices can be found here http://wiki.scummvm.org/index.php/SymbianOS_UIQ
	* Best source of general information is the ScummVM forum, http://forums.scummvm.org
	* SVN builds (not frequently updated) can be found at http://anotherguest.k0.se


Games supported
---------------
	The Symbian port of ScumVM supports all but Sword1 & 2 games. Some games might not run properly due to screenresolution or memory constraints.


Building ScummVM
---------------------   

	Nescessary components
	---------------------
	Building ScummVM yourself using the UIQ 2.1/Nokia S60 SDK/Nokia S80 SDK/Nokia S90 SDK framework is not an easy task!
	Lets just say the framework needs quite some time to set up and takes a while 
	to get used to. If you choose to continue you will need the following items: 

	- UIQ 2.1 SDK (To build for UIQ2 devices);
	  http://www.symbian.com/developer/sdks_uiq.asp

	- Nokia S60 1st, 2nd edition,3rd edition SDK (To build for S60 devices)

	- Nokia S80 SDK (To build for S80 devices)

	- Nokia 7710 SDK (To build for the 7710/S90 device)

	- ECompXL, an EPOC application compression library
	  http://www.yipton.demon.co.uk/ecompxl/latest/readme.html (To build for UIQ devices)
	  
	- libsdl, Simple Directmedia Layer, a cross-platform multimedia library 
	  http://www.libsdl.org/ (see note about ESDL below)

	- libmad, a high-quality MPEG audio decoder
	  http://www.underbit.com/products/mad/ 
	
	- zlib, a massively spiffy yet delicately unobtrusive compression library
	  http://www.zlib.net/

	These are probably too heavy-duty for your phone:

	- libogg, the free media file container format
	  http://www.xiph.org/ogg/
	
	- libvorbis, the free audio codec
	  http://www.vorbis.com/
	  
	- flac, the Free Lossless Audio Codec
	  http://flac.sourceforge.net/
	  
	- libmpeg2, a free MPEG-2 video stream decoder
	  http://libmpeg2.sourceforge.net/


	Compiling ScummVM
	-----------------
	ECompXL: this is a tool that will compress your executable with GZIP and glue
	it to a predefined loader app. The app will uncompress your application at
	runtime and run it without you even knowing it. A really interesting byproduct
	of this method is that the general restriction of not having any writeable 
	static data (WSD) for Symbian APP executables no longer applies. This makes
	the life of an EPOC porter a lot easier! To install this tool you need to add
	its \bin path to your PATH above the sybmian epocs32\tools path, so that ECompXL's
	PETRAN.EXE will be the executable that is started.
	
	SDL: the latest varsion of SDL at this point in time is 1.2.8. This version 
	works great for compiling on other platforms, but for EPOC it lacks some 
	features. There are two distributions that have the nescessary goods: The one 
	made for SuperWaba (http://www.newlc.com/article.php3?id_article=574 and 
	http://www.superwaba.com/) and ESDL, the one that Sprawl made for the P800/P900. I've 
	used Sprawl's version uptil now. If Sprawl feels ESDL is in such a state that
	it can be released, he will post a source download on his site and I will
	make it know through the scummvm.org site. In <DevRoot>/sdl/epoc/ go:
	> bldmake bldfiles
	> abld build
	
	zlib: the zlib-x.x.x.tar.gz does not come with UIQ .mpp build files, that's why 
	I added them for you in epoc-zlib.zip. Extract in <DevRoot>/zlib/ which will 
	create the epoc dir. In <DevRoot>/zlib/epoc/ go:
	> bldmake bldfiles
	> abld build

	libmad: the libmad-x.x.x.tar.gz does not come with UIQ .mpp build files, that's
	why I added them for you in epoc-libmad.zip. Extract in <DevRoot>/libmad/ which 
	will create the epoc dir. In <DevRoot>/libmad/epoc/ go:
	> bldmake bldfiles
	> abld build

	ScummVM: make sure the SYSTEMINCLUDE dirs in ScumVM.mmp are correct. For the 
	'wins' platform also check the LIBRARY entries for the correct path to your MSVC 
	installation. Please note that you can only specify relative paths here, so every-
	thing needs to be on the same physical drive! Another weird demand of the UIQ
	platform...	In <DevRoot>/scummvm/backends/epoc/ go:

	> run 'unzip mmp\initial_mmps.zip'
	> edit the scummvm_base.mmp to fit your needs (for supported target games and features, check the MACRO statements)
	> run 'perl AdaptAllMMPs.pl' from the commandline, this will update all mmp and bld.inf files
	> change to the directory for your designated target (uiq2 for UIQ 2.X, S60 for S60 v1 & V2 etc)
	> 'bldmake bldfiles' to update and create the symbian build structure
	> 'abld build armi urel' to build the target binaries
	> makesis -d\sdkpath ScummVM_xxx.pkg to build the sis file for your target.
	
	Now you should have yourself a nice ScummVM_xxx.sis installer package for use 
	on your phone. Please note that for development it will be a lot faster if you
	transfer the SCUMMVM.APP/Scummvm.EXE file directly to your !:\system\apps\ScummVM\ dir!

	Platforms can be one of: ARMi, ARM4, THUMB, WINS. The SE P900 uses the ARMi platform,
	which is a combined ARM4/THUMB programming mode. Configurations can be one of: 
	UREL or UDEB.


Greetz & such
-------------
	Kudos fly out to:
	- Sprawl for having the nerve to start & carry this puppy for so long
	- AnotherGuest for having the nerve to start & carry this puppy for so long
	- Fingolfin for taking the time to go through 1000 patch versions with me
	- Myself (SumthinWicked), for writing this entire README and adopting all sources together with Fingolfin :)
	- the entire ScummVM Dev team for making a kicka$$ program
	- the folks in #scummvm @ irc.freenode.net for their help, confort and support
	- everybody else who wants to give me 'the look' for not including them here :P
	

	it's been swell,
	gotta go now,
	
	greetz,
	SumthinWicked & Anotherguest