Skip to content

gweslab/cerf

Repository files navigation

CERF - Windows CE Runtime Foundation

Run original Windows CE ARM applications on modern desktop Windows.

Screenshot

CERF is an ARM CPU emulator and Win32 API compatibility layer that executes WinCE ARM binaries natively on x64 Windows. It includes a full ARMv5 instruction set interpreter (ARM + Thumb modes), a PE loader for WinCE executables, and a comprehensive Win32 API thunking layer that translates COREDLL calls to native desktop Win32 APIs.

Successor to wcecl (coredll.dll shim for x86 WinCE apps). CERF takes a fundamentally different approach — instead of shimming a single DLL, it emulates the entire ARM CPU and thunks all system calls, allowing unmodified ARM binaries to run.

Usage

cerf.exe <path-to-wince-app.exe>

Features

  • ARMv5TE instruction set emulation (ARM and Thumb modes)
  • WinCE PE loader with import resolution and relocation support
  • Win32 API thunking: GDI, windowing, memory, system, dialogs, menus, input, resources
  • Automatic ARM-to-native callback bridging (WndProc, DlgProc, TimerProc)
  • 64-bit safe handle marshaling between emulated 32-bit code and native x64 APIs

Building

Requires Visual Studio 2022 with C++ desktop development workload.

msbuild cerf.sln /p:Configuration=Release /p:Platform=x64

Output: build/Release/x64/cerf.exe

Status

Early stage. Several WinCE applications run successfully (Solitaire, etc). Many Win32 APIs are stubbed or partially implemented. Contributions welcome.

AI-Generated Codebase

This entire codebase — every line of C++, every thunk, every CPU instruction handler — was generated by Claude using Claude Code. No human-written code. Contributions from both humans and Claude are welcome.

Downloads

build

License

MIT

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors