$ account EKA2L1
EKA2L1 is a Symbian OS emulator written in C++17, targeting the EKA2 (and EKA1) kernel used by Nokia S60 smartphones and N-Gage devices. It provides full system emulation including ARM CPU (with multiple backends: dyncom interpreter, 12l1r JIT, and optional Dynarmic), memory management (flexible and multiple address-space models), kernel reimplementation (processes, threads, IPC, timers, libraries), file system, and a wide range of Symbian services (window server, audio, Bluetooth, SMS, camera, DRM, etc.). The emulator supports multiple frontends: a Qt desktop application, an Android app (Java/JNI), and an iOS app (SwiftUI). It also includes a Lua scripting API for runtime debugging and game-specific patches, a GDB stub for remote debugging, and a set of guest-side DLL patches that redirect Symbian hardware calls to the emulator. The codebase is large and complex, with many services partially implemented or stubbed. It is actively maintained but development is part-time, and some platform-specific backends (e.g., iOS, Android) may lag behind the Qt frontend.