emulator: FreeJ2ME type: libretro source: "https://github.com/hex007/freej2me" cores: - freej2me systems: - j2me notes: | 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."