|
||
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
Value |
Parameters |
Definition |
|
integer |
Screen width in pixels |
|
integer |
Screen height in pixels |
|
integer |
Physical screen width in twips. If not specified, the default value is used, which is recommended. |
|
integer |
Physical screen height in twips. If not specified, the default value is used, which is recommended. |
|
integer |
Screen offset from left hand side |
|
integer |
Screen offset from top |
The twips settings allow the GDI’s 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:
StartUpMode 0- use the default SSC (SSCForStartupMode0.rss).
StartUpMode 1- 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.
StartUpMode 2- use the System Text SSC (SSCForStartupMode2.rss).
StartUpMode 3- use the Rapid Start SSC ( SSCForStartupMode3.rss).
StartUpMode 4- use SSCForStartupMode4.rss which is similar to the default but without watchers.
Value |
Parameters |
Definition |
|
|
Sets the colour depth to simulate various colour devices. |
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
Value |
Parameters |
Definition |
|
n/a |
Used to precede the definition of each additional screen. |
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.
Value |
Parameters |
Definition |
|
string |
Sets the emulator window title |
|
none |
Prevents version information from appearing in the title |
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.
Value |
Parameters |
Definition |
|
integer |
Position of the left of the emulated digitiser relative to the screen (not the fascia bitmap). The offset will generally be a negative number as the digitiser overlaps the screen in all directions. This defaults to minus the offset of the screen in the bitmap. |
|
integer |
Position of the top of the emulated digitiser relative to the screen (not the fascia bitmap). The offset will generally be a negative number as the digitiser overlaps the screen in all directions. This defaults to minus the offset of the screen in the bitmap. |
|
integer |
Width of digitiser in pixels. |
|
integer |
Height of digitiser in pixels |
|
integer |
Disable digitiser. If this is specified, no mouse events will
be generated and buttons on the bitmap which are implemented with an off screen
window will not work. The |
Value |
Parameters |
Definition |
|
key-code shape params |
Defines a virtual key region. The key-code shape parameters have the following syntax:
where:
Note that the comma (,) between the <x> and <y> integers, and between the <w> and <h> integers is required. |
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.
Value |
Parameters |
Definition |
|
|
Maps a real key on the PC keyboard to a Symbian OS key code.
|
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.
Value |
Parameters |
Definition |
|
integer |
Size of LED in pixels. |
|
n/a |
Arrange the LEDs vertically |
|
n/a |
Arrange the LEDs horizontally |
|
integer |
LED offset from the left of the bitmap |
|
integer |
LED offset from the top of the bitmap |
|
integer |
Gap between the LEDs in pixels |
Value |
Parameters |
Definition |
|
integer |
Deprecated keyword (used in kernel tracing). It specifies a
value to be passed to |
|
|
Enables or disables just-in-time debugging with the debug emulator.
See also |
Value |
Parameters |
Definition |
|
None, Pen, Mouse, Delta-Mouse |
Pointer type |
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.
Value |
Parameters |
Definition |
|
integer |
Limits amount of memory available. |
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.
Value |
Parameters |
Definition |
|
alias value |
Define an alias name for a Symbian OS key code. |
Value |
Parameters |
Definition |
|
filename |
Used when supporting multiple configurations; defines the name of a configuration file in which the settings for each configuration are stored. |
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.
Value |
Parameters |
Definition |
|
orientation key |
Specifies the orientation in degrees, and the key to be sent to the window server when this configuration is activated.
|
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
Value |
Parameters |
Definition |
|
command command_specific_data region_definition |
Defines the action that the emulator is to take when a specific
region of the screen is clicked. It is similar, in its effects, to the
There are two commands available:
The region definition has the same syntax and meaning as
where:
Note that the comma (,) between the <x> and <y> integers, and between the <w> and <h> integers is required. |
Examples:
NextConfig rect 14,500 29,22
EmulatorControl SelectConfig 3 rect 189,500 32,23
See also Hot key actions.
Value |
Parameters |
Definition |
|
Parameters: command command_specific_data key_sequence |
Defines the action that the emulator is to take when a specific key combination is pressed. There are two commands available:
The key_sequence is a comma separated list of keys. Eack key is identified by a string that is a mnemonic for that key; the possible strings are:
|
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.
Value |
Parameters |
Definition |
|
|
When a capability or other Platform Security policy check fails, and after any diagnostic message has been emitted (if enabled), the final action is dependent on whether Platform Security enforcement is enabled. If enforcement is not enabled, then the system continues as though the original Platform Security check in fact passed. If enforcement is enabled, then the appropriate action for a failed Platform Security check happens.
To enable PlatSec enforcement, set this to |
|
|
Use this to disable a specified set of capabilities: for example,
The implementation of this feature is achieved by automatically granting to all binaries the disabled capabilities as they are loaded at run-time. These capabilities are assigned before any capability checking is done, therefore checks for these capabilities will always succeed and will not cause diagnostic messages. |
|
|
Capability and other Platform Security policy checks are made
by the executable loader, and some low level Base APIs. When these checks fail
a diagnostic message may be emitted, if this setting is ON. Diagnostic messages
are logged to file, by default |
|
|
Some kernel APIs inherited from EKA1 can have insecure uses, such as a thread in one process being allowed to kill a thread in another process. When this flag is set, the kernel provides run-time checks for their correct usage. |
|
|
When this flag is set, the executable loader will only look for
and load files in the |
Value |
Parameters |
Definition |
|
integer |
The OS has a high resolution timer, accessed through methods
such as |
Value |
Parameters |
Definition |
|
Starts the emulator without displaying any window. This is particularly intended to allow emulator console programs to be used in automated scripts, where displaying a window would be inappropriate. |
You can specify the speed for flash used by emulated LFFS drives using the following settings. Values are in microseconds.
Value |
Parameters |
Definition |
|
integer |
Delay applied to erase operations. Default is 1000000 (1s). |
|
integer |
Delay applied to resuming after being suspended. Default is 5000 (5ms). |
|
integer |
Delay applied to write operations. Default is 406. |
Value |
Parameters |
Definition |
|
directory |
Specifies the directory path for files that store data for
drives for emulated file systems, such as NAND, LFFS, and MMC drives. The
default is |
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.
Value |
Parameters |
Definition |
|
|
Defines the size of emulated MultiMediaCard drives. The default value is 1Mb, if no value is explicitly specified. Note that if you change the size of the emulated drive, then this will affect behaviour when the emulator is subsequently re-started:
|
|
|
Specifies a password for an emulated slot. By default, there is no password for any of the emulated drives/cards, and therefore this item is not compulsory.
|
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.
Value |
Parameters |
Definition |
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 0. Bit 31 (i.e. the leftmost bit) represents category number 31.
Note that the category number is one of the
|
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 32. Bit 31 (i.e. the leftmost bit) represents category number 63.
Note that the category number is one of the
|
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 64. Bit 31 (i.e. the leftmost bit) represents category number 95.
Note that the category number is one of the
|
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 96. Bit 31 (i.e. the leftmost bit) represents category number 127.
Note that the category number is one of the
|
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 128. Bit 31 (i.e. the leftmost bit) represents category number 159.
Note that the category number is one of the
|
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 160. Bit 31 (i.e. the leftmost bit) represents category number 191.
Note that the category number is one of the
|
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 192. Bit 31 (i.e. the leftmost bit) represents category number 223.
Note that the category number is one of the
|
|
|
Set the bits in this integer to enable the corresponding trace category. Bit 0 (i.e. the rightmost bit) represents category number 224. Bit 31 (i.e. the leftmost bit) represents category number 255.
Note that the category number is one of the
|
|
|
The initial size for any memory buffer used to store trace data. See also Base How To BTrace. |
|
|
The initial mode of the trace handler. For the default trace
handler supplied with Symbian OS, this will be one of the
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.
Value |
Parameters |
Definition |
|
integer |
Delay for disk read |
|
integer |
Delay for disk write |
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.
Value |
Parameters |
Definition |
|
|
Each entry in the list of extensions is separated by a
semi-colon (
Extension names consist of a filename and a file type separated
by a full-stop ( |
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)