[fpc-devel] WinCE port docs at wiki

Yury Sidorov jura at ce.blagovest.com
Sat Aug 13 11:43:55 CEST 2005

1. I got FPC to work with WinCE console. Expect a rtl sources update soon.

2. Since H2PAS dont eat MS headers the easiest way to port is to use win32 
Windows unit and remove all functions which are missing in WinCE. The 
following list of WinCE functions can be used as reference:
First of all there are almost no functions with A suffix and they must be 
Also some functions exists as wrappers (SetEvent,ResetEvent). Some of them 
already implemented in system.pp

You can start this task. Currently nobody do it. If you will start it, 
please write about that at wiki and specify your contacts.

3. I think sqllite is dependent from Windows,SysUtils,Classes,etc. We need 
to port them first.

Yury Sidorov.

----- Original Message ----- 
From: "Oro06" <orinaudo at gmail.com>
To: "FPC developers' list" <fpc-devel at lists.freepascal.org>
Sent: Friday, August 12, 2005 6:12 PM
Subject: Re: [fpc-devel] WinCE port docs at wiki

Great !

1°) i had a look to the writeln pb ie text to std output give a runtime
error 103.
so i tried the same code with evc-> the result:  nothing appear
 in fact cmd.exe is not installad by default on pda's ie  not text
console, no CON: device
but this can be installed with external tools (ms provide one with
PowerToys,but there are others on the net)
After that cmd.exe is installed, running the previous simpliest printf
progs, show the expected text
in a text window, existing of console.dll in \windows dir have been
detected and stdout configured at runtime.
the only difference is that a new console is opened every time, even if
hello.exe is run from a console !

looking at the assembler of generated exe, we can see that during startup
there is a call to '_cinit' just before the winmain.
this _cinit then call 2 times '_initterm'
both _cinit and _initterm are located in crt0dat.c (and wince version
sources are provided with vs2005beta2)

inside crt0dat.c  there is an external pointer list declaration (this is
used by initterm) :
extern _CRTALLOC(".CRT$XIA") _PIFV __xi_a[];
extern _CRTALLOC(".CRT$XIZ") _PIFV __xi_z[];    /* C initializers */
it is declared here but filled ? in an other part and i can't find where.

Any idea on that is welcomed :)

2°)Yuri, concerning the .h migration, if you already planned to start
something, in wich order ?
(not enough ressources to do the same thing twice !)

3°) i'ld like to use sqllite (on pda), any feed back on that ?


Yury Sidorov a écrit :

>The latest info about WinCE port can be found here:
>Yury Sidorov.
>fpc-devel maillist  -  fpc-devel at lists.freepascal.org

fpc-devel maillist  -  fpc-devel at lists.freepascal.org

More information about the fpc-devel mailing list