Once upon a time there was Windows CE 1.0. When I first started using these O/Ses, it was a little bewildering how Micrsoft named all of these operating systems, and I started with Windows CE 2.0 for Handheld PCs (with small keyboards). Palm-sized PC’s, now called Pocket PC’s have no keyboard.
Back then in 1999, you needed Visual Studio 6.0 to compile to Windows CE 2.0 and the Windows CE Toolkit for Visual Studio 6.0 to make it happen. You *still* have to use the same platform today as nothing of theirs is backwards compatible, and worse yet, the 2002 refresh of Embedded Visual C++ 3.0 for Pocket PC 2000 (Windows CE 4.2) puts your registry in a state such that you cannot go back without manually deleting registry keys related to the Platform manager, and there are no error messages of course, just crashing. I believe there was a later version of the CE Toolkit (no longer available?) that handled Windows CE 2.1 and 2.11.
eVc 4.0 can compile for Windows CE 4.2 and 5.0, I believe. The latest Visual Studio 2005 now in beta, superceding Visual Studio .NET can handle Windows CE .NET. I believe Visual Studio .NET 2003 had an add-on pack for Windows CE, and probably was meant for Windows CE .NET.
Anyway, that’s not the half of it. Almost every platform has an SDK you have to download for it.
Why do I mention this? Well, eVc++ 3.0 & 4.0 are free downloads from Microsoft, IDE, SDKs and all. Recently Tigerdirect.ca unloaded some refurb’ed WinCe gadgets for like $140, so I was able to replace my broken one and of course the CPU was different and I spent all of last night and tonight trying to get everything loaded back onto the poor little thing. So now I have pocket Chess loaded on it and some language dictionaries and a Japanese word processor with Kanji dictionary and stuff.
There’s an even deeper level of Windows CE hell, however called “Platform Builder” which allows you to build ROM images of the OS and such. I’m glad I’ve been mostly a good boy in this life and haven’t had the pleasure of that one yet.