DP4 for Windows CE provides access to DP4 databases resident on a 'handheld device'. Most run time DP4 utilities are available, but their screens have not been adapted for the smaller displays typically found on CE devices. (However, for 4.621, some maps have been adapted for typical Pocket PC screens). You will probably find it convenient to run DP4 utilities on a PC connected to a CE device via DP4 networking, and install only a minimal set of DP4 on the CE device itself. Database files can be transferred between CE devices and other operating systems.
DP4 for Windows CE is very similar to the regular Win32 version of DP4: in particular, DP4 networking is fully supported, allowing a Windows CE device to act as a server to, or a client of, any other machine running DP4 (including Linux or Unix machines). The primary differences are as follows:
Files which have W32 in the name in Windows version of DP4 have WCE instead in the CE version. Thus the DP4 service is started with SRVWCE.EXE rather than SRVW32.EXE. Similarly most DLLs that have names ending in LIBT.DLL on Windows end with LIBCE.DLL on Windows CE.
The DP4 licence file must be named DP4.SYS and the DP4 configuration file DP4.INI. The old pre 4.620 names for these files are not supported. Please refer to Names and Locations of Configuration files in the Guide to DP4 Configuration.
For 4.620 USERDATA.SYS must be created on a Windows PC by running a 4.620 version of USERDATA with the command tail -PSPC. A regular USERDATA.SYS contains information that tells the terminal manager to use Windows default colors. These are not easily available on Pocket PC editions of Windows CE, so this command tail hard codes the colors used by your active Windows color scheme. In addition the "master palette" record on the system database needs to be deleted if the DP4 menu or logon facilities of QAB are used.
This restriction no longer applies in 4.621,as we have discovered how to implement the missing Windows APIs needed to find the default colours
There are a few inevitable limitations in functionality caused by limitations in the underlying operating system. Notably transparent maps and fields are not implemented. You may need to make changes to the fonts, colors, and image files your application uses depending on the graphics capabilities of your device. An application that uses mainly default colors and fonts will usally have only minor differences in its appearance from the regular Windows version of DP4.
Because CE devices come with a considerable variety of processors and different operating systems (even on devices from one manufacturer and using the same model name), it is difficult to be certain that DP4 for Windows CE will run on any particular device. However, DP4 will probably run on almost any MIPS, StrongArm, or Intel XScale based device running a Windows CE 3 or later based operating system such as Pocket PC,Handheld PC 2000, Pocket PC 2002, or CE.NET. Your device will also need to support Pocket Explorer and ActiveSync, otherwise it will be more or less impossible to install DP4 on it.
DP4 has been run on MIPS, and Strongarm, based Casio Cassiopeia Pocket PCs, and the Casio IT-500 (a CE.NET Intel XScale device) the HP Jornada (Handheld PC 2000 and Pocket PC 2002 versions), the Fujitsu Pen Centra (Handheld PC 2002) and Intermec Pocket PC (Pocket PC 2002), a variety of Compaq/HP Ipaq devices, XDA II mobile phones (CE.NET 4.2), and Psion Teklogix devices. Please ask about support for other devices.
If you have an Intel XScale device, you may need to try each of the "Thumb", "ArmV4" and "Arm" versions of DP4 on your device. (ArmV4 support is introduced in 4.622). The XScale processor is capable of running all these types of program, but in our (somewhat limited) experience, most devices will run either the "Thumb" or the "Arm/Armv4" sets, but not both "Thumb" and "Arm/ArmV4" programs. (Exceptionally the Psion Teklogix can run either type of program). If you have a CE.NET device we recommend you try the ArmV4 set first, then the Thumb set, and only then the ARM set. If supported the ARMV4 programs should be used in preference to the ARM programs as the latter are built with quite an old version of the Windows CE SDK, and although they run may possibly have subtle incompatibilities with Windows CE.NET.
We have not yet prepared an installation program for the Windows CE version of DP4 (and may well not any time soon). The directory \version\wince\processor (for example \620\wince\mips) contains a directory called DP4. This is arranged identically to the recommended installation on a CE device. It is only necessary to copy this directory to the root directory of your CE device (Make sure you do not simply move this folder to My Documents or anything similar on the CE device), for example by using drag and drop inside Windows Explorer once you have set up a partnership to your CE device using ActiveSync. You can install in another directory, for example, in a flash disk or storage card that CE has mounted as a subdirectory of the root, but in that case you will need to use DFSETUP to change the disk locations contained in dp4.sys - it is probably easiest to install in \dp4 first and then copy the installation to the new location prior to using DFSETUP. You may well find it convenient to first copy the directory to a PC so that you can remove DP4 utilities you will not need on Windows CE.
DP4 is loaded and configured almost as on regular Windows operating systems with only the minor differences caused by name changes. Apart from the differences resulting from name changes, the format of dp4.ini is identical to that of the regular Windows DP4 configuration file.
The DP4 configuration file should be edited as a plain text file. It should be an ASCII file, not a Unicode file.
Both this file and the DP4 licence file (always DP4.SYS for Windows CE) are required to reside in the location specified for DP4HOME in the DP4
configuration file
or same directory as syslibce.dll by default. Because there are no drive letters on Windows CE you
cannot use an existing licence file without first editing it to remove any
drive letters in the directory specifications. Initially you will probably have
to create DP4.SYS using DFSETUP on a PC to edit a copy of the DP4 license file.
E.g. Copy your licence file the directory C:\WINCE and then use the command;
DFSETUP -FROM C:\WINCE\
In theory the DP4 will start automatically as on regular Windows if a DP4 program is run. In practice there are some problems with autoload:
If two DP4 programs are started at the same time, it is not possible to control the DP4 service as well as would be the case on regular Windows, due to the fact that the required Windows APIs are not supported. This may mean spurious errors are reported.
Sometimes Windows CE refuses to start programs loaded as part of the DP4 service for quite a long time, and srvwce decides they have failed to start. There is no good reason for delay, and the problem is not reproducible. If your device is afflicted with this problem try increasing the value for startup_delay in the [wince] section of dp4.ini. The default value is 15. You may find a value of 30 works better. This problem is especially likely to occur if a program is run with low, or very low, priority. (Note that the DP4 error logging program is run like this by default)
By default, DP4 service components are run with high priority. If your device loads tcpmgr.wce, or tstcpw.wce and is accessed from a fast PC, this may cause your device to become unresponsive. You may find it beneficial to run DP4 at a lower priority. See the information on the [startup] section of dp4.ini for details of the possible priorities.
Databases which are to be accessed on Windows CE devices are required to use number system 9. Failure to do so will probably cause programs to fail with data alignment exceptions.
Please make sure you use the Console/Transaction logging option of DFSETUP to set suitable maximum sizes for the various types of log file. If your dp4.sys is based on one used on a PC it will most likely contain values for these options that are completely unsuitable for Windows CE.
There are several possible ways of developing DP4 programs for CE devices: