Archived Runtime for ARM Mobiles

Bring Korean feature-phone software back to life.

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.

$go run ./cmd/aram
MENU240×320BACK
What ARAM can do

A real emulator, not a demo.

Cross-platform

Windows, Linux & macOS desktop; Android via Ebitengine. iOS designed into the boundary.

Pure-Go ARM core

A bounds-checked ARMv5TE/Thumb interpreter that faults on unknown instructions. Cross-compiles to Android/arm64.

Save-state & rewind

Checksummed states carry CPU context, framebuffer, queued input & counters. Deterministic replay.

Debugger, cheats, patch

The full emulator command model, pause, step, memory, cheats and patches, visible even where a backend is still landing.

Remap & virtual keypad

Press-to-capture keyboard/gamepad remapping with per-title profiles, plus a responsive on-screen keypad.

Debug bundle & reports

Export a redacted debug ZIP and file a GitHub issue in-app, never copying game or firmware bytes.

Two runtimes, one shell

Both modes share the frontend, input, audio, profiles, save-state, debugger and compatibility tooling, but they don't pretend to be the same backend.

Application mode

Run WIPI packages

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 today
System mode

Boot phone firmware

Load user-supplied firmware, instantiate a concrete device/SoC profile (SCH-W830, SCH-W860), and progressively boot as hardware coverage grows.

Experimental · research
01
Recognized
02
Loads
03
Executes
04
First frame
05
Playable
06
Complete

Reference titles reach a deterministic first frame; broad compatibility and firmware boot are roadmap.

Play in your browser

Run ARAM without installing anything.

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.

MENUWIPIBACK

First launch downloads the runtime (~52 MB). Desktop Chrome, Firefox or Edge recommended. Then File ▸ Open your own authorized file.

Screens

Guest frames & the runtime underneath.

Early nightly, application mode. The frontend renders the guest framebuffer at native resolution; the core reports every step as a distinct milestone.

MENUWIPIBACK
Application mode · guest framebuffer · 240×320
aram-probe, application mode
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
Download

Get the latest nightly.

Direct downloads of the rolling nightly build. Always the newest, rebuilt on every push to main.

Open source

Four repositories, one product.

The core and frontend stay independent behind contracts; the product integrates them. Everything is on GitHub under mirusu400.

ARAM never distributes firmware, commercial games, keys, memory dumps, or device fonts. You provide only material you are authorized to use. Not affiliated with any handset maker or carrier.
© 2026 ARAM · mirusu400 aram-emu aram-core aram-frontend