FreeJ2ME is a Java ME (J2ME) emulator for libretro. The native .so/.dll
core acts as a bridge that spawns a Java process running freej2me-lr.jar,
which handles all actual J2ME emulation. Communication between the C
frontend and Java backend happens over pipes (Linux) or named pipes
(Windows).
The jar file is required:without it the core cannot start. It must be
placed directly in the system directory (not a subdirectory). The core
resolves it via RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY joined with
"freej2me-lr.jar"using fill_pathname_join().
A working Java runtime (JRE/JDK 8+) must be installed on the host
system. The core invokes "java -jar freej2me-lr.jar" with resolution,
rotation, phone type, FPS, and sound arguments passed via argv.
freej2me-lr.jar is built from the project source via Apache Ant
(build.xml target "lr"). It is not a traditional BIOS dump but a
software component distributed with the emulator.
The project also produces freej2me.jar (standalone AWT frontend) and
freej2me-sdl.jar (SDL2 frontend), but only freej2me-lr.jar is needed
for the libretro core.
files:
- name:"freej2me-lr.jar"
system:j2me
description:"FreeJ2ME libretro Java application"
required:true
source_ref:"src/libretro/freej2me_libretro.c:485 (fill_pathname_join with javapath)"
notes:"Not a BIOS dump. This is the Java emulator itself, loaded by the native core at startup. Built from source via 'ant lr'. Must be in the system directory root."