mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 18:59:07 -05:00
Profiles that read two repositories, a libretro port and its upstream, now prefix each citation with source or upstream, decided by which tree carries the cited value at its pin. The emulator pages use the word to tell libretro glue, emulator code as the port carries it, and the upstream emulator apart.
107 lines
5.8 KiB
YAML
107 lines
5.8 KiB
YAML
emulator: FreeJ2ME-Plus
|
|
type: libretro
|
|
core_classification: enhanced_fork
|
|
source: "https://github.com/TASEmulators/freej2me-plus"
|
|
upstream: "https://github.com/hex007/freej2me"
|
|
profiled_date: "2026-10-04"
|
|
source_commit: "68069d79aa6ed106eb788a640a8294a0db55fdcd"
|
|
upstream_commit: "8b9bc8a19baf26e3d92f88934a64a32f1cbc2795"
|
|
core_version: "1.53"
|
|
display_name: "Mobile - J2ME (FreeJ2ME-Plus)"
|
|
cores:
|
|
- freej2me_plus
|
|
systems:
|
|
- j2me
|
|
|
|
notes: |
|
|
Fork of FreeJ2ME adding phone-specific APIs (Siemens, Nokia, Motorola,
|
|
KDDI, SKT, DoJa, JBlend, Mascot Capsule V3, M3G), KJX loading and more
|
|
core options. The native core is a C bridge: retro_init reads the system
|
|
directory, checks that freej2me_plus-lr.jar exists there and spawns
|
|
java -jar with the file encoding and the screen size as arguments, then
|
|
drives the Java process over pipes. Windows launches javaw through
|
|
CreateProcess with the system directory as starting directory, while Linux and
|
|
macOS fork, chdir() into it and execvp() java. A Java runtime must be on
|
|
the host PATH, and the start failure message asks for Java 6 or newer. The
|
|
jar is built by ant from build.xml, which writes the libretro variant as
|
|
freej2me_plus-lr.jar.
|
|
ref: src/libretro/freej2me_libretro.c:38-45,
|
|
src/libretro/freej2me_libretro.c:859-888,
|
|
src/libretro/freej2me_libretro.c:1556-1582,
|
|
src/libretro/freej2me_libretro.c:1679-1688,
|
|
src/libretro/freej2me_libretro.h:80,
|
|
build.xml:86-99
|
|
|
|
Only existence is tested. When the jar is absent the core posts the
|
|
SYSTEM_NOT_FOUND message and returns from retro_init before any process is
|
|
created, so nothing loads. The message text still names freej2me-lr.jar,
|
|
the file the original core opens. This core opens freej2me_plus-lr.jar.
|
|
ref: src/libretro/freej2me_libretro.c:339-346,
|
|
src/libretro/freej2me_libretro.c:866-872,
|
|
src/libretro/freej2me_libretro.h:73-79
|
|
|
|
Every relative path the jar opens resolves against the system directory,
|
|
since the Java process starts there. freej2me_system/ is created on first
|
|
run and holds freej2me.conf (written with defaults when missing, then
|
|
overridden by the core options the bridge sends), FreeJ2ME.log, and the
|
|
SiemensData/ and XceData/ directories that the Siemens and XCE file APIs
|
|
write to. FreeJ2MEDumps/KDDI/ receives the jar and jad extracted from a
|
|
.kjx. Saves go to <save_dir>/freej2me/ (rms/<suite>/ and
|
|
config/<suite>/game.conf), falling back to the system directory when the
|
|
frontend has no save directory.
|
|
ref: src/org/recompile/freej2me/Config.java:47-48,
|
|
src/org/recompile/freej2me/Config.java:186-206,
|
|
src/org/recompile/mobile/Mobile.java:121-123,
|
|
src/org/recompile/mobile/Mobile.java:135,
|
|
src/libretro/freej2me_libretro.c:926-934,
|
|
src/org/recompile/freej2me/Libretro.java:201-205,
|
|
src/javax/microedition/rms/RecordStore.java:111
|
|
|
|
Two files are user supplied and optional. With the freej2me_midifont core
|
|
option on, Manager.checkCustomMidi loads the first .sf2 or .gm listed in
|
|
freej2me_system/customMIDI/ as the MIDI soundbank. Off, or with the
|
|
directory empty, the JVM default soundbank is used. With freej2me_textfont
|
|
on, PlatformFont loads the first .ttf, .otf or .ttc in
|
|
freej2me_system/customFont/. Off, the AWT SansSerif, Monospaced and Dialog
|
|
faces are used. Both directories are created with a placeholder file when
|
|
missing, and neither file has a fixed name.
|
|
ref: src/libretro/freej2me_libretro.c:464-469,
|
|
src/libretro/freej2me_libretro.c:480-485,
|
|
src/org/recompile/freej2me/Libretro.java:240,
|
|
src/org/recompile/freej2me/Libretro.java:254,
|
|
src/org/recompile/mobile/Mobile.java:1056-1064,
|
|
src/javax/microedition/media/Manager.java:55,
|
|
src/javax/microedition/media/Manager.java:328-351,
|
|
src/org/recompile/mobile/PlatformFont.java:63,
|
|
src/org/recompile/mobile/PlatformFont.java:133-154
|
|
|
|
files:
|
|
- name: "freej2me_plus-lr.jar"
|
|
system: j2me
|
|
path: "freej2me_plus-lr.jar"
|
|
required: true
|
|
validation: [existence]
|
|
description: "FreeJ2ME-Plus libretro Java application"
|
|
note: "Java program the native core launches with java -jar from the system directory root. Built by ant from build.xml at the pinned revision. The code reads no size and no hash."
|
|
source_ref: "source src/libretro/freej2me_libretro.c:38-45 (freej2meapp), source src/libretro/freej2me_libretro.c:859-875 (GET_SYSTEM_DIRECTORY, freej2me_present, SYSTEM_NOT_FOUND_MSG), source src/libretro/freej2me_libretro.c:339-346 (access F_OK), upstream src/libretro/freej2me_libretro.c:877-888 (java -jar argv), source build.xml:86-99 (destfile)"
|
|
|
|
- name: "<soundfont>.sf2"
|
|
system: j2me
|
|
path: "freej2me_system/customMIDI/<soundfont>.sf2"
|
|
required: false
|
|
unsourceable: "user supplied, no canonical file"
|
|
category: game_data
|
|
description: "MIDI soundbank for J2ME audio"
|
|
note: "First .sf2 or .gm in the directory listing, loaded through MidiSystem.getSoundbank when the freej2me_midifont option is on. A rejected file is logged and the JVM default soundbank stays."
|
|
source_ref: "source src/javax/microedition/media/Manager.java:55, source src/javax/microedition/media/Manager.java:328-351, source src/org/recompile/mobile/Mobile.java:1056-1058"
|
|
|
|
- name: "<font>.ttf"
|
|
system: j2me
|
|
path: "freej2me_system/customFont/<font>.ttf"
|
|
required: false
|
|
unsourceable: "user supplied, no canonical file"
|
|
category: game_data
|
|
description: "TrueType font for J2ME text"
|
|
note: "First .ttf, .otf or .ttc in the directory listing, loaded through Font.createFont when the freej2me_textfont option is on. A rejected file is logged and the AWT faces stay."
|
|
source_ref: "source src/org/recompile/mobile/PlatformFont.java:63, source src/org/recompile/mobile/PlatformFont.java:133-154, source src/org/recompile/mobile/Mobile.java:1062-1064"
|