Skip to content

Phones ​

Before smartphones, phone games ran as J2ME or BREW apps. J2ME games are JVM bytecode, which Ghidra reads. Downloaded BREW apps are signed for one handset, so most were never dumped. One game often shipped in many builds for different handsets. Treat each build as a separate target.

The platforms ​

PlatformYearsCPU and clockMedia and formatGhidra supportEmulator with a debugger
J2MENot covered hereA Java VM on the phone.jar filesJVM built inFreeJ2ME, J2ME Loader (debuggers not covered here)
BREWDeveloper site shut 23 July 2021Not covered here.mif and .mod files, signed per handsetNot covered hereMelange (early development)
ZeeboNot covered hereNot covered hereBREWNot covered here@Tuxality's emulator work

J2ME ​

Hardware ​

J2ME games ship as .jar files and run on a Java VM on the phone. Community estimates put the total above 3,000 unique games (techtactician roundup; GameTechWiki: J2ME).

Tools ​

Ghidra's built-in JVM module reads the bytecode (Ghidra Processors on GitHub). FreeJ2ME is a free J2ME emulator with AWT, SDL2 and libretro front ends. Its README states neither its licence nor its MIDP and CLDC coverage (FreeJ2ME GitHub). J2ME Loader is an Android J2ME emulator under Apache 2.0. It runs most 2D and 3D games, including Mascot Capsule 3D (J2ME Loader GitHub).

Projects to learn from ​

Kahvibreak is a J2ME launcher and collection. It has been inactive since its maintainer (Nokia64) disappeared. Sources disagree on the year. One gives 2022. Users report quality problems in its database (GameTechWiki: Kahvibreak; techtactician roundup). Other efforts include a J2ME Preservation archive and the Cell Phone Game Preservation Wiki (awesome-j2me list).

For an exact reimplementation ​

One game often shipped in many builds for different handsets. Treat each build as a separate target. Record which build a test runs.

BREW and the Zeebo ​

Hardware ​

BREW apps use .mif and .mod files. Downloaded BREW apps are tied to one handset by a digital signature, so most were never dumped. Qualcomm shut the Brew MP developer site on 23 July 2021 (GameTechWiki: BREW).

Tools ​

Melange is an Android BREW emulator. It is open source but relies on proprietary Qualcomm components. It is in early development. Qualcomm's SDK BREW Simulator does not emulate handset hardware (GameTechWiki: BREW).

Projects to learn from ​

The Zeebo console ran on BREW. @Tuxality's emulator work in 2024 made its games playable (Time Extension, May 2024).

Early iOS and Android games are not covered here.

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.