ARAM is a cross-platform emulator for Korean feature-phone (WIPI) software, a fast application runtime today, with whole-phone firmware boot as an ongoing research track.
Windows, Linux & macOS desktop; Android via Ebitengine. iOS designed into the boundary.
A bounds-checked ARMv5TE/Thumb interpreter that faults on unknown instructions. Cross-compiles to Android/arm64.
Checksummed states carry CPU context, framebuffer, queued input & counters. Deterministic replay.
The full emulator command model, pause, step, memory, cheats and patches, visible even where a backend is still landing.
Press-to-capture keyboard/gamepad remapping with per-title profiles, plus a responsive on-screen keypad.
Export a redacted debug ZIP and file a GitHub issue in-app, never copying game or firmware bytes.
Both modes share the frontend, input, audio, profiles, save-state, debugger and compatibility tooling, but they don't pretend to be the same backend.
Load a WIPI package, execute its ARM/Thumb guest code, and provide WIPI, carrier, OEM, display, audio, input, storage and timing services through high-level emulation.
Working todayLoad user-supplied firmware, instantiate a concrete device/SoC profile (SCH-W830, SCH-W860), and progressively boot as hardware coverage grows.
Experimental · researchReference titles reach a deterministic first frame; broad compatibility and firmware boot are roadmap.
The full ARAM frontend, compiled to WebAssembly. Launch it, then open a WIPI / JAR / DAT file you are authorized to use, it loads entirely in your browser, nothing is uploaded.
First launch downloads the runtime (~52 MB). Desktop Chrome, Firefox or Edge recommended. Then File ▸ Open your own authorized file.
Early nightly, application mode. The frontend renders the guest framebuffer at native resolution; the core reports every step as a distinct milestone.
aram › load authorized-input.dat core › EADS text+bss mapped sha256 3f9c…a1e0 core › CPU backend ARMv5TE / Thumb interp v3 wipi › services bound display audio input storage timing oem › hash-keyed services ok run › bootstrap → setup → start → preload run › first visible frame ok_frame @ 240×320 state › snapshot written checksum ok
Direct downloads of the rolling nightly build. Always the newest, rebuilt on every push to main.
The core and frontend stay independent behind contracts; the product integrates them. Everything is on GitHub under mirusu400.