In short
The W4ME Station project runs unmodified WASM-4 cartridges on J2ME phones from the mid-2000s. An analysis of how a modern runtime was shrunk down to 275 KB—and what AI has to do with it.
WASM-4 is a virtual console featuring games compiled into WebAssembly. It’s usually run in a browser or on modern hardware. But the W4ME Station project proves that the same cartridge format works on 2005-era push-button cell phones—with CLDC 1.1 and MIDP 2.0. No modifications to the games themselves are required. This isn’t a retro emulator, but a runtime port to Java 1.3. The full build is 275 KB—smaller than a single photo from a modern smartphone. The package includes 13 games: Sokoban, Watris, Wasm Wars, chess, and mazes. There are two builds—one with support for the file API via JSR-75, and a second, basic build for devices where FileConnection is unavailable. In other words, the author genuinely took the fragmentation of the J2ME ecosystem into account, rather than simply compiling a JAR and uploading it. There are two interesting points here. First, WASM as a software distribution format turned out to be compact and neutral enough to reach hardware that everyone had long since written off. If the runtime can be squeezed onto a J2ME phone, then WASM cartridges can potentially run anywhere there’s even a basic interpreter. Second, the development was carried out using AI tools. For practitioners, this is a sign: AI is useful not only in trendy tech stacks but also in niche tasks like porting to defunct platforms where documentation is scarce and the community has vanished. It’s licensed under the MIT license, and the code is open—so you can examine exactly how the WASM runtime was adapted to Java 1.3. For those who build agents and work with WASM as a target platform, this is a concrete example of the absolute minimum constraints under which the format remains viable.