feat: re-profile 40 emulators, harden CI workflows

profile emulators pd777 through tic80, add frozen snapshots
(puae2021, snes9x2002/2005/2010, stella2014/2023).

CI: replace github-script with gh CLI, add test execution,
job-level permissions, propagate changed output, pin jsonschema.
This commit is contained in:
Abdessamad Derraz
2026-03-25 07:00:17 +01:00
parent 0543165ed2
commit ebb55a445b
69 changed files with 2337 additions and 1544 deletions

View File

@@ -1,94 +1,70 @@
emulator: SquirrelJME
type: libretro
core_classification: official_port
source: "https://github.com/SquirrelJME/SquirrelJME"
profiled_date: "2026-03-18"
upstream: "https://github.com/SquirrelJME/SquirrelJME"
profiled_date: "2026-03-25"
core_version: "0.3.0"
display_name: "Java ME (SquirrelJME)"
cores: [squirreljme]
systems: [j2me]
verification: existence
notes: |
Java ME 8 virtual machine for libretro. Runs J2ME MIDlets and older flip-phone games.
The core needs a class library JAR placed in RetroArch's system directory.
It searches for the JAR using a priority list: versioned-fast first, then versioned,
then unversioned variants. The first match wins.
Search order (from nanocoat/src/boot.c sjme_nvm_romNames[]):
1. squirreljme-{version}-fast.jar
2. squirreljme-{version}.jar
3. squirreljme-{version}-test.jar
4. squirreljme-{version}-slow.jar
5. squirreljme-{version}-slow-test.jar
6. squirreljme-fast.jar
7. squirreljme.jar
8. squirreljme-test.jar
9. squirreljme-slow.jar
10. squirreljme-slow-test.jar
Current version: 0.3.0. All firmware entries are marked optional in the .info file
because the core can launch its built-in modeless stars demo without a class library.
For actual J2ME software, one of these JARs is required.
The class library JAR is built from the SquirrelJME project itself (not a third-party
BIOS dump). It is open source under MPL-2.0.
Java ME 8 virtual machine. Runs J2ME MIDlets and older flip-phone games.
Requires a class library JAR in the system directory. The core searches
sjme_nvm_romNames[] in priority order and uses the first match found.
All entries are optional: without a class library, the core runs a built-in
modeless stars demo but cannot execute J2ME software.
The .info declares firmware_count=8 but the code defines 10 search names
(squirreljme-{version}-test.jar and squirreljme-test.jar are missing from .info).
files:
# -- Versioned JARs (v0.3.0, preferred) --
- name: "squirreljme-0.3.0-fast.jar"
description: "SquirrelJME class library v0.3.0 (fast/optimized build)"
description: "Class library v0.3.0, fast/optimized build"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:102, squirreljme_libretro.info:firmware5"
note: "Highest priority versioned JAR. Optimized runtime, recommended for normal use."
source_ref: "nanocoat/src/boot.c:102"
- name: "squirreljme-0.3.0.jar"
description: "SquirrelJME class library v0.3.0 (standard build)"
description: "Class library v0.3.0, standard build"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:103, squirreljme_libretro.info:firmware4"
note: "Standard versioned build. Second in search priority."
source_ref: "nanocoat/src/boot.c:103"
- name: "squirreljme-0.3.0-test.jar"
description: "Class library v0.3.0, standard build with test suites"
required: false
source_ref: "nanocoat/src/boot.c:104"
- name: "squirreljme-0.3.0-slow.jar"
description: "SquirrelJME class library v0.3.0 (slow/interpreter build)"
description: "Class library v0.3.0, slow/interpreter build"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:105, squirreljme_libretro.info:firmware6"
note: "Pure interpreter mode, no optimizations. Useful for debugging."
source_ref: "nanocoat/src/boot.c:105"
- name: "squirreljme-0.3.0-slow-test.jar"
description: "SquirrelJME class library v0.3.0 (slow build with tests)"
description: "Class library v0.3.0, slow build with test suites"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:106, squirreljme_libretro.info:firmware7"
note: "Interpreter mode with built-in test suites."
# -- Unversioned JARs (fallback) --
source_ref: "nanocoat/src/boot.c:106"
- name: "squirreljme-fast.jar"
description: "SquirrelJME class library (fast/optimized, unversioned)"
description: "Class library, fast/optimized build (unversioned)"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:107, squirreljme_libretro.info:firmware1"
note: "Highest priority unversioned JAR. Renamed from a versioned build."
source_ref: "nanocoat/src/boot.c:107"
- name: "squirreljme.jar"
description: "SquirrelJME class library (standard, unversioned)"
description: "Class library, standard build (unversioned)"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:108, squirreljme_libretro.info:firmware0"
note: "Most common filename. If only one JAR is provided, use this name."
source_ref: "nanocoat/src/boot.c:108"
- name: "squirreljme-test.jar"
description: "Class library, standard build with test suites (unversioned)"
required: false
source_ref: "nanocoat/src/boot.c:109"
- name: "squirreljme-slow.jar"
description: "SquirrelJME class library (slow/interpreter, unversioned)"
description: "Class library, slow/interpreter build (unversioned)"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:110, squirreljme_libretro.info:firmware2"
note: "Pure interpreter, unversioned."
source_ref: "nanocoat/src/boot.c:110"
- name: "squirreljme-slow-test.jar"
description: "SquirrelJME class library (slow with tests, unversioned)"
description: "Class library, slow build with test suites (unversioned)"
required: false
bundled: false
source_ref: "nanocoat/src/boot.c:111, squirreljme_libretro.info:firmware3"
note: "Interpreter with tests, unversioned."
source_ref: "nanocoat/src/boot.c:111"