{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "squirreljme",
      "profile": {
        "core_classification": "official_port",
        "core_version": "0.3.0",
        "cores": [
          "squirreljme"
        ],
        "display_name": "Java ME (SquirrelJME)",
        "emulator": "SquirrelJME",
        "files": [
          {
            "description": "Class library v0.3.0, fast/optimized build",
            "name": "squirreljme-0.3.0-fast.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:92"
          },
          {
            "description": "Class library v0.3.0, standard build",
            "name": "squirreljme-0.3.0.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:93"
          },
          {
            "description": "Class library v0.3.0, standard build with test suites",
            "name": "squirreljme-0.3.0-test.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:94"
          },
          {
            "description": "Class library v0.3.0, slow/interpreter build",
            "name": "squirreljme-0.3.0-slow.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:95"
          },
          {
            "description": "Class library v0.3.0, slow build with test suites",
            "name": "squirreljme-0.3.0-slow-test.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:96"
          },
          {
            "description": "Class library, fast/optimized build (unversioned)",
            "name": "squirreljme-fast.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:97"
          },
          {
            "description": "Class library, standard build (unversioned)",
            "name": "squirreljme.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:98"
          },
          {
            "description": "Class library, standard build with test suites (unversioned)",
            "name": "squirreljme-test.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:99"
          },
          {
            "description": "Class library, slow/interpreter build (unversioned)",
            "name": "squirreljme-slow.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:100"
          },
          {
            "description": "Class library, slow build with test suites (unversioned)",
            "name": "squirreljme-slow-test.jar",
            "required": false,
            "source_ref": "nanocoat/src/boot.c:101"
          }
        ],
        "notes": "Java ME 8 virtual machine. Runs J2ME MIDlets and older flip-phone games.\nRequires a class library JAR in the system directory. The core searches\nsjme_nvm_romNames[] in priority order and uses the first match found.\nAll entries are optional: without a class library, the core runs a built-in\nmodeless stars demo but cannot execute J2ME software.\nThe .info declares firmware_count=8 but the code defines 10 search names\n(the two not in the .info are squirreljme-{version}-test.jar and squirreljme-test.jar).\n",
        "profiled_date": "2026-03-25",
        "source": "https://github.com/SquirrelJME/SquirrelJME",
        "source_commit": "24d0e97d4297d0bce26a9651f5bce5d326ea690a",
        "systems": [
          "j2me"
        ],
        "type": "libretro",
        "upstream": "https://github.com/SquirrelJME/SquirrelJME",
        "verification": "existence",
        "version_basis": {
          "kind": "file",
          "path": "squirreljme-version",
          "pattern": "^([0-9][^\\s]*)"
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
