W4ME Station: un emulador que lleva juegos WASM-4 a teléfonos Java ME de los años 2000

Fuentes: W4ME Station runs WASM-4 cartridges on Java ME feature phones without a JIT

W4ME Station es un proyecto de software libre que permite ejecutar cartuchos de juegos escritos en WebAssembly para la plataforma WASM-4 en teléfonos móviles antiguos compatibles con CLDC 1.1 y MIDP 2.0, es decir, los teléfonos con Java ME de mediados de la década de 2000. El motor valida y ejecuta WebAssembly sin JIT, reusa el código de host como caché persistente de instrucciones W4IR y expone al programa las API de gráficos, entrada, audio, disco y texto definidas por WASM-4. En un único JAR que ronda los 275 KB se distribuyen trece cartuchos listos para jugar —Sokoban, Wasm Wars, Annoying Robots, Waternet, Dragon Poker Draw, Tic Tac Toe, Watris, Glowfish Chess, Duck Maze, Rubido, Untangle, Sound Demo y Plasma Cube—, todos obras de terceros con sus respectivas licencias, conservadas fuera del MIT que cubre el código del proyecto. La versión 1.0.0 se publica en dos variantes: una completa con navegación de archivos opcional JSR-75 (FileConnection) y otra base, sin esas clases, apta para dispositivos MIDP 2.0 que no implementan esa API opcional. Ambas variantes comparten los mismos trece juegos; el archivo JAR nunca supera los 300 KB y la biblioteca no requiere conexión de red. El proyecto admite carga adicional de ficheros .wasm por HTTP(S), URL file:// o el navegador JSR-75 del propio teléfono, con almacenamiento persistente por cartucho y verificación determinista en KEmulator, phoneME y un host de referencia. Los controles cubren teclas del teléfono, teclado, puntero y un pad táctil en pantalla; el audio MMAPI muestreado incluye MIDI en streaming y fallback silencioso; el volumen y el silencio se guardan en RMS y sobreviven a reinicios del MIDlet. El desarrollo se realiza en Linux mediante just, Podman y Distrobox con un toolchain fijado por contenedor (JDK 8, ProGuard, KEmulator, WABT), y las fuentes y clases se compilan a Java 1.3.