{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "exel-hence",
      "profile": {
        "core_classification": "pure_libretro",
        "core_version": "v0.9",
        "cores": [
          "exel-hence"
        ],
        "display_name": "Exelvision - EXL 100 (Exel-Hence)",
        "emulator": "Exel-Hence",
        "exclusion_note": "BIOS, BASIC cartridges and ExelDisk DOS compiled into the core, the system directory is never read",
        "files": [],
        "notes": "Exelvision EXL 100 emulator written as a libretro core by Recalbox.\n\nretro_load_game() asks for the system directory and hands it to\nExl100LoadRoms() (ref: src/libretro.c:710-734), which ignores it: the\nmain and sub CPU BIOS images are unpacked from arrays compiled into the\ncore (ref: src/exl100.c:1163-1181). The images are raw DEFLATE streams\nXOR'd against a rotating key and inflated at load time\n(ref: src/exl100_bios.c:56-101). Both arrays are present in the\nshipped header (ref: src/exl100_bios.h:6703-6704). Exelmemoria, the\nExelBASIC and ExelBASIC+ cartridges and the ExelDisk DOS come from the same embedded\ntables (ref: src/libretro.c:508, 533, 562).\n\nThe only file opened by name is a sidecar next to a .cram content file,\n<basename>cram.txt or <basename>.txt, scanned for a CALL EXEC or RUN\nline to auto-start the program (ref: src/libretro.c:614-686). It\nbelongs to the content.\n",
        "profiled_date": "2026-10-17",
        "source": "https://gitlab.com/recalbox/packages/recalbox-cores/libretro-exel-hence",
        "source_commit": "213328332cbfd8121e018493443e223a7a780961",
        "systems": [
          "exelvision-exl100"
        ],
        "type": "libretro",
        "upstream": "https://gitlab.com/recalbox/packages/recalbox-cores/libretro-exel-hence"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
