Specifications

1 SERIES 3 PROGRAMMING OVERVIEW
1-5
Avoid $ signs
The
'$'
sign is used in names of environment variables created and manipulated by Psion system
software.
All external applications should completely avoid using environment variables with
'$'
signs in them -
unless they first secure the agreement of Psion.
The plan is to extend the use of
'$'
to mean, not just "used by Psion", but rather "licensed by Psion".
Interested software developers who contact Psion will be given a short identifier - for example,
"$17$"
. A
company which receives this identifier could then create environment variables with names such as
"$17$table"
or
"$17$md"
, secure in the knowledge that no other responsible developer will also use these
names.
In conclusion,
'$'
signs should be avoided in all cases; even where approved by Psion, environment
variable names should include
'$'
signs
only in their identifier region
. Thus a name of
"$A$17$"
would
not be allowed. Environment variables can of course continue to have "simple" names, such as
"table"
and
"md"
, but in this case, the chance of a name clash remains.
Series 3 family compatibility
Series 3/Series 3a/Work
about
compatibility
All Series 3 applications are fully compatible with the Series 3a and Work
about
. These two machines
automatically recognise such applications and run them in compatibility mode - both the icon, as
displayed on the system screen, and the display are expanded linearly by a factor of two in each
dimension.
In fact an application that wishes to use the full screen capabilities of the Series 3a or Work
about
must
explicitly turn off the compatibility mode by calling the
wCompatibilityMode
function - see the
Window
Server Reference
manual for further details.
An application can identify which machine it is running on - using a call to
p_getlcd
- see the
Plib
Reference
manual for details, and
Compatibility
in the
General Programming Manual
for an example.
Thus it is quite feasible to write an application that runs on the Series 3, Series 3a and the Work
about
,
using the screen of each machine to the full. However, care should be taken to ensure that the application
does not use any Series 3a or Work
about
specific features when running on the Series 3 - the grey scale
or, on the Series 3a, the improved sound facilities for example. The Work
about
also has different
keyboard scan codes from the other members of the Series 3 family, (see
Hardware Management
, in the
EPOC O/S System Services
manual).
Compatibility with Series 3c and Siena
Programs written for the Series 3
All Series 3 programs can be expected to run without modification on both the Siena and the Series 3c.
The programs will run in compatibility mode, as they do on the Series 3a.
Programs written for the Series 3a
Most types of program will run without modification on the Series 3c.
It is likely that most Series 3a programs will need some modification, to take account of the smaller screen
size, before they will run on the Siena. Menus and dialogs in Series 3a programs will, in general, be too
wide and will need to be reorganised and/or reworded. Applications that use a sophisticated layout in their
display are likely to need extensive modification before they can be used on the Siena.
Series 3a applications written using the Hwif library, and which use grey lines in their menus, will need to
be relinked with a suitably modified Hwif library before they will run on either the Siena or the Series 3c.
This incompatibility is associated with the introduction of small fonts for dialogs on the Work
about
and
Siena.
Hwif programs that are compiled and linked with a modified Hwif library (see the
Programming in Hwif
chapter of this upgrade document) that is supplied with the upgrade software can run on the Series 3,
Series 3a, Series 3c, Work
about
and Siena - provided, of course, that their displays are tailored to the
various screen sizes and graphics capabilities of these machines.