1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
EScummVM - ScummVM ported to EPOC/SymbianOS
Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson
Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson
Copyright (C) 2005 Jurgen 'SumthinWicked' Braam
Copyright (C) 2005 ScummVM Team
$Id$
About EScummVM
--------------
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 are currently working together to finalize the transfer to CVS.
Nescessary components
---------------------
Building EScummVM 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 UIQ devices);
http://www.symbian.com/developer/sdks_uiq.asp
- Nokia S60 1st, 2nd edition (3rd edition has not been tested) 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/
Building EScummVM
-----------------
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
EScummVM: make sure the SYSTEMINCLUDE dirs in EScumVM.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/build/ go:
> bldmake bldfiles
> abld build
> makesis EScummVM_xxx.pkg
Now you should have yourself a nice EScummVM_xxx.sis installer package for use
on your phone. Please note that for development it will be a lot faster if you
transfer the ESCUMMVM.APP file directly to your !:\system\apps\EScummVM\ 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 :)
- 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
|