epoc.ini
The emulator can have a configuration file located in
epoc32\data\
on the PC's file system. By default, its name is
epoc.ini
, but this can be changed using the command line option
-M
.
Note that when launching the emulator from the command line, emulator configuration options may alternatively, or additionally be specified on the command line, using syntax described in Emulator syntax: epoc.exe.
The following sections describe all the configuration options. Note that not all these are relevant to all phone emulators.
Configuration options are specified on separate lines in
epoc.ini
. The property name is specified first, followed by a
space, followed by the value. For example, to set the screen width as 640
pixels and the screen height as 240 pixels, the epoc.ini
entry
would be:
ScreenWidth 640
ScreenHeight 240
|
The twips settings allow the GDIs twips-to-pixels mapping functions to be changed according to the size of the physical screen on the emulated model. The default values correspond to 0.21mm pixel size or 121 pixels per inch, which is the recommended setting to use for all platforms / emulators.
The STARTUPMODE macro is used to customise the startup of the TechView emulator. Including StartUpModeN in epoc.ini instructs ESTART to select a static startup configuration (SSC) file as follows:
StartUpMode0- use the default SSC (SSCForStartupMode0.rss).
StartUpMode1- use the Text Shell SSC (SSCForStartupMode1.rss).
Note that the "textshell" instruction in epoc.ini and the
-Dtextshell --
option at the command prompt are now obsolete.
StartUpMode2- use the System Text SSC (SSCForStartupMode2.rss).
StartUpMode3- use the Rapid Start SSC ( SSCForStartupMode3.rss).
StartUpMode4- use SSCForStartupMode4.rss which is similar to the default but without watchers.
|
For more than one colour depth, specify the ColorDepth
keyword once, and then specify as many of the color depth parameters as you
want on the same line, for instance:
ColorDepth Gray256 Color256 Color4k
|
If the emulator uses multiple screens, the epoc.ini
file
may be divided into sections, each of which holds the properties that apply to
a particular screen. _NewScreen_
is used to precede each list of
screen-specific properties that apply to additional screens. Screen-specific
properties are listed in the tables above, under Screen size and position,
Fascia bitmap and Colour depth. For more information, see
How to configure an emulator with multiple screens.
|
The following keywords are for configuring the digitiser size. The default behaviour is that the digitiser is enabled and is the same size as the fascia bitmap.
|
|
The syntax will allow different shapes, but the only shape supported
is rect
which specifies a rectangle. The parameters are the
co-ordinates for the top left and bottom right of the rectangle.
|
For example:
KeyMap LeftAlt N EStdKeyF4
KeyMap LeftAlt M EStdKeyF5
Sets "LEFT ALT" + "N" to "F4" and "LEFT ALT" + "M" to "F5" respectively.
Note that this keyword is commonly used when emulating
MultiMediaCards. This is because the F4
and
F5
keys are used to emulate MMC drive events. However,
this can cause a problem when debugging, because F5
is
used for continuing the debugger. Setting up the above mapping means that
pressing "LEFT ALT" + "M" will emulate a media change event (normally
F5
).
See also Hot key actions.
A phone emulator can emulate two hardware LEDs. The following settings determine the appearance of these LEDs.
|
|
|
The PointerType
setting in the emulator configuration
file sets the type of pointer device that is available on the target phone. The
setting determines the events that the window server makes available to
applications.
PEN
simulates pen input: events only occur when the pen
is touching the digitiser: i.e. in the emulator, when the left mouse button is
depressed. With MOUSE
, an application also gets Move events: that
is, an application can detect a mouse moving even while the button is not
pressed. NONE
is not currently supported.
The standard shell and applications do not respond to Move events, so the setting value does not alter their behaviour.
|
This option sets the maximum total heap size in megabytes, in order to emulate target machines with different memory capacities. If this parameter is not specified, the amount of free memory defaults to 64MB.
If you wish to limit the heap, it is conventional to allow one megabyte for Symbian OS use: for example, specify 7 to simulate a 8MB machine.
|
|
This keyword can only be used in the main epoc.ini
file.
More than one configuration file can be defined, for example:
...
configuration c1.ini
configuration c2.ini
configuration c3.ini
...
Information for each configuration is then defined within each of the
files defined by the configuration
keyword.
For an example, see How to configure an emulator to support multiple fascias and screen orientations.
|
Note that although the window server tells the emulator to rotate
when it gets the key message (if setup in wsini.ini)
, the
orientation is required so that the emulator can rotate and change when the
device is off.
Example:
OnActivation 270 EKeyScreenDimension1
|
Examples:
NextConfig rect 14,500 29,22
EmulatorControl SelectConfig 3 rect 189,500 32,23
See also Hot key actions.
|
For example, so that the configuration changes to the next one in the
list when the key combination Ctrl-Shift-U
is pressed, you
need to add the following string to the epoc.ini
file:
EmulatorControlHotKey NextConfig LeftCtrl,LeftShift,U
See also:
There are various emulator settings that can be used to set platform
security behaviour. The default setting on kits supplied by Symbian is that
platform security is fully enabled and enforced (all settings set to
On
). It may be useful however when programs are being developed to
temporarily suspend enforcement of platform security using the
PlatSecEnforcement
or PlatSecDisabledCaps
settings.
The platform security diagnostic messages written to the debug log file can
then be examined to discover any platform security checks that are failing,
without the inconvenience of the program stopping or giving an error code.
|
|
|
You can specify the speed for flash used by emulated LFFS drives using the following settings. Values are in microseconds.
|
|
MultiMediaCard drives are defined by the emulator specific versions
of estart.exe
, and estart.txt
.
However, the following keywords affect the way that the emulated MultiMediaCard
drives behave.
Note that the keywords are case-insensitive.
|
For example:
MultiMediaCardSize=100
Sets up an emulated card size of 100Kb.
The Symbian OS mechanism for generating and capturing trace information can be used on the emulator. The default Symbian OS trace handler is always loaded and initialised when the emulator starts up.
There are a number of keywords that you can use to set up default states.
Each trace has a category, an 8-bit value; the kernel implements a
filter that enables traces in each category to be either discarded (disabled)
or passed to the trace handler (enabled). You use the BTrace0, BTrace1,
...BTrace7
keywords to set the initial state of that filter, i.e. to
indicate whether a trace category is enabled or disabled.
A trace category is one of the BTrace::TCategory
enum values.
Each of the BTrace0, BTrace1, ..., BTrace7
keywords
takes a 32-bit integer. The complete set of eight 32-bit integers is viewed as
a sequence of 256 bits. Each bit is associated with a single category - if a
bit is set it means that the corresponding category is enabled - if a bit is
not set it means that the corresponding category is disabled.
Each of the BTrace0, BTrace1, ... ,BTrace7
keywords maps
to successive sets of 32 categories.
See also Base How To BTrace.
|
These settings can be used to change the read/write speed for access
to Win32 mapped disks (e.g. emulator C:
drive). This allows a
delay to be inserted to better emulate slower disks on real devices.
The implementation calculates the delay on each read and write call,
based on the size of the buffer and waits using
User::AfterHighRes()
. To approximate a 2.5MB/s read speed, and a
0.5MB/s write speed, you could set:
DiskRead=400
DiskWrite=2000
The values are measured in microseconds-per-kilobyte.
|
The Extension
keyword is used to define a list of kernel
extensions to be started when the emulator is booted. If no extensions are
specified then the standard extension list is loaded. However, extensions that
are specified on the command line or in the ini file, replace, rather than add
to, the standard extension list. For example, when the application is started
with "-DExtension=epbusmmc.dll
" only the extensions
epbusmmc.dll
and exstart
are loaded. The extension
exstart
is always loaded.
|
For example:
Extension btracex.ldd;medlfs.pdd;epbusmmc
Alternatively, if you launch the emulator from the command line, you
can specify the extension list as a parameter to epoc.exe
:
> epoc.exe -DExtension=btracex.ldd;medlfs.pdd;epbusmmc
--
Both the previous examples generate the following list of extensions to be handled at boot time:
btracex.ldd
medlfs.pdd
epbusmmc.dll
exstart
(always loaded)
Starting the emulator without specifying any extensions results in loading the standard list of extensions:
btracex.ldd
winsgui.ldd
(excluded if
NoGui is specified.)
elocd.ldd
medint.pdd
medlfs.pdd
medmmc.pdd
epbusmmc.dll
epbusv.dll
mednand.pdd
exstart
(always loaded)