Windows Mobile 6.5 Game Development Toolkits

During the late 2000s, before modern app store ecosystems fully took over, several developer toolkits and middleware suites allowed developers to write code on desktop workstations and cross-compile it directly for Windows Mobile 6.5. Because Windows Mobile 6.5 was built on the Windows CE 5.2 kernel, tools had to support targeting ARM-based processors while abstracting device-specific hardware differences. The following toolkits and cross-compilers were the primary solutions used to develop games for the platform.

Microsoft Visual Studio with the Windows Mobile 6.5 SDK

The official and most widely used solution was Microsoft Visual Studio (specifically versions 2005 and 2008) paired with the Windows Mobile 6.5 Developer Tool Kit. This environment offered two primary cross-compilation routes:

  • Native C++: Using Microsoft's embedded Visual C++ compiler, developers compiled native C/C++ code directly into ARM machine code. This provided the highest execution speed and lowest memory overhead, which was critical for 3D games utilizing early mobile graphic APIs like OpenGL ES 1.1 or Direct3D Mobile.
  • .NET Compact Framework: Visual Studio allowed developers to write game code in C# or Visual Basic .NET. While technically managed code rather than a pure native binary, the development machine cross-compiled the project into Common Intermediate Language (CIL), which the runtime on Windows Mobile 6.5 then executed using a Just-In-Time (JIT) compiler.

Airplay SDK (Later Marmalade)

The Airplay SDK (later rebranded as the Marmalade SDK by Ideaworks3D) was one of the premier commercial cross-platform mobile game engines of that generation. Developers wrote their games in standard C or C++, using the Airplay API to handle graphics, sound, and user inputs. The desktop toolchain cross-compiled the game into a platform-agnostic bytecode or native binary wrappers that targeted multiple platforms simultaneously, including Windows Mobile 6.5, Symbian, BlackBerry, iOS, and Android. It was frequently used for high-profile mobile ports due to its near-native execution performance.

MoSync SDK

MoSync was an open-source, cross-platform software development kit tailored for mobile game and application developers. It used a GCC-based toolchain that cross-compiled standard C/C++ code into a custom intermediate bytecode called MoSync Internal Machine (MIM) code, or alternatively into native code using device-specific runtime environments. MoSync supported Windows Mobile alongside legacy platforms like Java ME and Symbian, allowing developers to target stylus- and resistive-touch-driven Windows Mobile 6.5 devices without rewriting core game loops.

Edgelib

Developed by Elements Interactive, Edgelib was a lightweight, high-performance middleware SDK specifically designed for 2D and 3D mobile game development. It provided a unified C++ API that abstracted display buffers, audio mixing, input handling, and network connectivity. Developers used desktop environments such as Visual Studio to cross-compile the same Edgelib codebase into native executables for Windows Mobile (Pocket PC / Smartphone), Symbian, Linux, and early iOS devices.

CeGCC and MinGW32ce

For developers who preferred open-source pipelines rather than proprietary IDEs, the CeGCC project (and its MinGW32ce variant) provided a cross-compilation toolchain based on GNU GCC targeting Windows CE and Windows Mobile. When paired with mobile ports of Simple DirectMedia Layer (SDL), such as libSDL-WinCE, indie developers could cross-compile standard desktop C/C++ games directly for Windows Mobile 6.5 from Linux or Windows build hosts.